Search

Lessons (14)

  • DSA Interview Patterns Cheat Sheet

    Map any coding-interview problem to the right technique in seconds. Keyword triggers, a decision flowchart, complexity tables …

  • Two Pointers & Sliding Window

    … add the element entering on the right, remove the one leaving on the left](/img/dsa/sliding-window …

  • Stacks & Queues

    … a ticket counter (first in, first out)](/img/dsa/stack-queue.svg) - Stack (LIFO — Last In, First Out …

  • Hash Maps & Sets

    … lookups jump straight to the right place](/img/dsa/hash-map.svg) Operation Array (unsorted) Hash map / Set …

  • Linked Lists

    … each node holds a value and an arrow to the next node](/img/dsa/linked-list.svg) js …

  • Binary Search

    … halves the search space at every step](/img/dsa/binary-search.svg) Items Linear search (worst) Binary search …

  • Arrays & Strings

    … equally sized boxes side by side, reached instantly by index](/img/dsa/array-memory.svg) That's why …

  • Trees & Binary Search Trees

    … root, parent, child, leaf, depth and height](/img/dsa/tree-vocabulary.svg) Word Meaning --- --- Root The top node …

  • Heaps & Priority Queues

    … the same heap stored in an array](/img/dsa/heap.svg) The array trick Because the tree has …

  • Recursion & Backtracking

    … each call handles a smaller version until the base case](/img/dsa/recursion-dolls.svg) Every recursive function …

  • Graphs: BFS & DFS

    … vs adjacency matrix for the same graph](/img/dsa/graph-representations.svg) Adjacency list Adjacency matrix --- --- --- Memory O …

  • Big-O Notation Made Simple

    … from excellent to terrible](/img/dsa/big-o-ladder.svg) Recognising complexity in code js // O(1): same …

  • Sorting Algorithms

    … Different algorithms trade simplicity , speed and memory . ![How the main sorting algorithms compare](/img/dsa/sorting-compare.svg …

  • Dynamic Programming

    … the ways to reach each step are the sum of the two steps below it](/img/dsa/dp …