Data Structures
The containers that make algorithms possible.
Arrays, Lists, Stacks & Queues
Master the four foundational data structures — arrays, linked lists, stacks, and queues — by understanding WHY each exists and what physical reality of memory makes them tick.
Hash Tables
Hash tables turn arbitrary keys into array indices, achieving average-case O(1) insertion, deletion, and lookup through ingenious randomization and collision management.
Trees & Binary Search Trees
Trees are the data structure that makes the chaos of unordered data navigable in logarithmic time — and understanding why they degrade is the key to mastering every balanced variant that follows.
Balanced Trees: AVL, Red-Black & B-Trees
Balanced trees are the engineering backbone of every database and filesystem — they guarantee O(log n) operations by enforcing geometric height bounds through clever structural invariants and rotations.
Heaps & Priority Queues
Heaps are the elegant data structure that lets you always find the best option in O(1) and maintain order in O(log n) — the secret engine inside every efficient scheduler, shortest-path algorithm, and sorting routine.
Graphs: Representations
Graphs are the universal language of relationships — learn to speak it fluently by mastering the two fundamental ways computers store them.
Tries & String Data Structures
Tries and their cousins turn string search from O(n·m) guesswork into O(m) certainty by encoding the shared structure of a language directly into a tree.
Union-Find & Advanced Structures
Master the four workhorse structures that make seemingly impossible queries run in near-linear time: Union-Find, Segment Trees, Fenwick Trees, and Skip Lists.