🧮 Data Structures
Data structures and algorithms for coding interviews: from complexity analysis to graphs, with JavaScript, Kotlin and Dart examples in every topic.
Stages
Foundations
The foundation you need before any data structure makes sense: complexity analysis, the memory model, arrays, strings and recursion. Without these you cannot answer *why* the later structures behave the way they do.
Linear structures
Structures where elements sit one after another: every flavour of linked list, plus stacks, queues and deques — both hand-written and via each language's built-in collections.
🔓 Recommended after: Foundations
Hash-based structures
How a hash table works inside, how collisions are resolved, choosing between Set and Map correctly, and the interview patterns that turn O(n²) solutions into O(n) with hashing.
🔓 Recommended after: Linear structures
Trees and heaps
Tree terminology and traversals, the Binary Search Tree, why balancing is needed, heaps and priority queues, and the trie for prefix search.
🔓 Recommended after: Hash-based structures
Graphs, sorting and searching
Representing and traversing graphs, shortest paths, comparing sorting algorithms and binary search patterns — the algorithm block asked about most in technical interviews.
🔓 Recommended after: Trees and heaps
Interview preparation
A framework for choosing structures, the most frequently asked patterns, the live coding process and rapid-fire theory — the stage that turns knowledge into interview behaviour.
🔓 Recommended after: Graphs, sorting and searching