Fun with Algorithms
summary
Covers concrete algorithms and when to use them: binary search (1–100 → 7 tries, 1M → ~20, 1T → ~29) and using Python’s bisect for non‑manual divides; graph algorithms (DFS/BFS, Dijkstra, A, topological sort) applied to mazes, jug states and course scheduling; dynamic programming as caching with functools.lru_cache / memoization* and tabulation demonstrated on Fibonacci and the house‑robber problem to drop exponential time to O(n); sliding‑window and two‑pointer tricks for max subarray, fruit baskets and trapping rainwater; practical data structures: hash sets/dictionaries for O(1) lookups.
AI-written summary · about
chapters (13)
- 0:00Introduction to algorithms
- 2:05Binary search fundamentals
- 5:35Binary search applications
- 9:32Big O notation explained
- 13:56Data structure basics
- 19:01Graph traversal algorithms
- 23:11Advanced graph problems
- 26:58Topological sort
- 30:12Dynamic programming
- 34:33Dynamic programming examples
- 38:40Sliding window technique
- 47:32Problem solving framework
- 55:24Resources for practice








