Algorithms Roadmap
Step-by-step procedures for solving computational problems efficiently.
Algorithms
✓
Big-O Notation
✓
Binary Search
✓
Foundations
✓
Bubble Sort
✓
Merge Sort
✓
Core Concepts
✓
Quicksort
✓
Breadth-First Search
✓
Depth-First Search
✓
Dynamic Programming
✓
Intermediate Skills
✓
Greedy Algorithms
✓
Two Pointers
✓
Advanced Topics
✓
Sliding Window
✓
Dijkstra's Algorithm
✓
Backtracking
✓
Expert Level
Keep learning
Text version of this roadmap
1. Foundations
- Big-O Notation: Asymptotic analysis, time and space complexity, best/average/worst-case, and common orders.
- Binary Search: Divide-and-conquer search on sorted arrays, lower/upper bound, and rotated array variants.
- Bubble Sort: Simple O(n²) sorting, optimization with early termination, and educational value.
2. Core Concepts
- Merge Sort: Divide-and-conquer with O(n log n), merge operation, and stable sorting guarantee.
- Quicksort: Partition-based sorting, pivot selection, average O(n log n), and worst-case analysis.
- Breadth-First Search: Level-order graph traversal, queue-based, shortest path in unweighted graphs, complexity O(V+E).
3. Intermediate Skills
- Depth-First Search: Stack/recursive traversal, pre/post order, topological sort, strongly connected components.
- Dynamic Programming: Memoization, tabulation, optimal substructure, overlapping subproblems, and classic DP problems.
- Greedy Algorithms: Local optimal decisions, matroid theory, fractional knapsack, Huffman coding, and activity selection.
4. Advanced Topics
- Two Pointers: Left/right pointer technique for sorted arrays, sliding windows, and in-place operations.
- Sliding Window: Fixed and variable window patterns for substring and subarray problems.
- Dijkstra's Algorithm: Shortest path in weighted graphs, priority queue optimization, and correctness proof.
5. Expert Level
- Backtracking: Systematic search with pruning, N-Queens, Sudoku, constraint satisfaction, and branch-and-bound.