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 …