Algorithms
Algorithms are at the core of computer science and provide systematic methods for solving computational problems. This section covers common data structures and algorithm design paradigms.
Contents:
- Algorithm Basics — Time complexity, space complexity, sorting & searching
- Tree Algorithms — Binary trees, BST, AVL, red-black trees
- Graph Algorithms — BFS, DFS, shortest paths, minimum spanning trees
- Dynamic Programming — Optimal substructure, state transition equations
- String Algorithms — KMP, Trie, suffix arrays
- Sorting and Searching — Comparison sorts, non-comparison sorts, binary search
- Greedy Algorithms — Greedy choice property, activity selection, Huffman coding
- Randomized and Approximation Algorithms — Monte Carlo, Las Vegas, approximation ratios
- Advanced Dynamic Programming — Tree DP, bitmask DP, digit DP, game DP