Algorithms
Lessons in this group:
- searching — linear vs binary search, and binary search on the answer
- sorting — merge, quick, and heap sort; stability and
O(n log n) - recursion — base cases, the call stack, and recursive thinking
- divide-and-conquer — split, solve, combine; recurrences
- greedy-algorithms — locally-optimal choices and when they’re globally optimal
- dynamic-programming — overlapping subproblems and memoization
- backtracking — systematic search with pruning
- graph-algorithms — BFS, DFS, topological sort, Dijkstra