Data Structures & Algorithms
How to reason about time and space, and the structures — arrays, trees, graphs, hash tables — every efficient program is built from. Each course below is independent -- start with whichever one fits what you want to learn.
Data Structures and Algorithms
How to reason about correctness and complexity, the core data structures every efficient program relies on, and the algorithmic strategies (search, sort, recursion, graphs, dynamic programming) built from them.
14 lessons9hintermediate
- 1. Problem Decomposition, Correctness, and Testing Algorithms
- 2. Time and Space Complexity: Big O, Ω, and Θ
- 3. Arrays, Dynamic Arrays, and Strings as Sequential Data
- 4. Linked Lists: Nodes, Pointers, and When They Beat Arrays
- 5. Stacks, Queues, and Deques
- 6. Hash Tables, Sets, and Maps: Average O(1) Lookup
- 7. Binary Trees and the Three Depth-First Traversals
- 8. Binary Search Trees: Ordered Structure, O(log n) When Balanced
- 9. Heaps and Priority Queues
- 10. Recursion and Divide-and-Conquer
- 11. Linear Search and Binary Search
- 12. Sorting: Insertion Sort, Merge Sort, and Choosing Between Them
- 13. Graphs: Representations, BFS, and DFS
- 14. Backtracking, Greedy Reasoning, and Dynamic Programming