Algorithms
Algorithm design is about choosing the right strategy — not just getting a correct answer, but getting it efficiently at scale. This section covers the core analysis tools, design patterns, and data structures that appear everywhere from interview questions to production systems.
Planned Topics
Analysis
- Big-O, Θ, Ω notation — what they actually mean
- Amortized analysis (dynamic arrays, union-find)
- Recurrence relations and the Master Theorem
Sorting & Searching
- Comparison sorts: Merge sort, Quicksort, Heapsort — interactive visualizer
- Linear-time sorts: Counting sort, Radix sort
- Binary search and its variants
Data Structures
- Hash tables: open addressing vs. chaining, load factor, probing
- Trees: BST, AVL, Red-Black, B-tree (interactive balance visualizer)
- Heaps and priority queues
- Graphs: adjacency list vs. matrix, BFS/DFS traversal
Graph Algorithms
- Shortest path: Dijkstra, Bellman-Ford, A*
- Minimum spanning tree: Kruskal, Prim
- Topological sort and cycle detection
Design Patterns
- Divide and conquer
- Dynamic programming (memoization vs. tabulation)
- Greedy algorithms and when they fail
- Backtracking
Pages coming soon — check back or contribute a page using the template.