Overview
Algorithm design paradigms, complexity analysis, and problem-solving strategies
Sorting & Searching
Bubble, merge, quick, counting sort, and binary search
Recursion & Backtracking
Recursive thinking, subsets, permutations, and constraint satisfaction
Dynamic Programming
Memoization, tabulation, knapsack, LIS, LCS, and state machine DP
Greedy
Greedy choice property, activity selection, Huffman coding
Divide & Conquer
Merge sort, quick select, and master theorem
Graph Algorithms
BFS, DFS, Dijkstra, topological sort, union-find, and minimum spanning tree