• Semantic Versioning in GitLab CI

    You and your team are maintaing a set of backend services for an online shopping application. Scenario A, your colleague is pushing a bug fix to Order Service that caused some problems in the Cart Service. This new push has changed the state of the service from the old buggy...


  • Tries

    Retrieval data structure. That’s what a Trie is known for, and that’s the easiest way to remember. A Trie is a special kind of a tree that handles string operations more conveniently. The entire English dictionary can be stored in a trie instead of a hash table. A trie is...


  • Binary Search Trees

    Best thing about data structures is that you can have a structure or a container that can hold data and a set of methods (algorithms) that can operate on your data. Yeah, that’s pretty much the receipe of a data structure. Container of data + Operations on that container =...


  • Heaps & Priority Queues

    A heap is a datastructure that stores the data in a way where the smallest/largest element can be accessed in constant time, i.e., in Big O(1). Binary Heaps are in general implemented using an array, however, we visualize it as a complete binary tree where the value of the parent...


  • Linked Lists (Singly, Doubly, and Circularly)

    Linked Lists, another primitive datastructure with significant importance. It is a linear collection of data elements, slightly similar to arrays, the difference is the operations done on it. A linked list is like a train when you think about it, such that each element is a block that is chained...