1. 3.1 Cache Replacement Policieshistorical

    FIFO, LRU, LFU, and related cache replacement policies.

  2. 3.2 Dynamic Programminghistorical

    Dynamic programming steps and a path-counting example.

  3. 3.3 Greedyhistorical

    Greedy choices with loading, coin change, and 0-1 knapsack examples.

  4. 3.4 Divide and Conquerhistorical

    Divide a problem into smaller subproblems, solve them, and derive the original solution.

  5. 3.5 Recursionhistorical

    Recursion, its call process, basic ideas, examples, conversion to iteration, and tail recursion.

  6. 3.6 Backtrackinghistorical

    Backtracking and the Eight Queens problem.

  7. 3.7 DFShistorical

    Depth-first search with permutation and combination examples.

  8. 3.8 Binary Searchhistorical

    Binary search, variants, and common templates.

  9. 3.9 Bubble Sorthistorical

    Bubble sort, its characteristics, implementation, and optimization.

  10. 3.10 Linear Searchhistorical

    Linear search and its implementation.

  11. 3.11 Heap Sorthistorical

    Heap sort using heap construction and repeated deletion.

  12. 3.12 Merge Sorthistorical

    Merge sort, its characteristics, process, and implementation.

  13. 3.13 Insertion Sorthistorical

    Insertion sort, its characteristics, process, and implementation.

  14. 3.14 Quick Sorthistorical

    Quick sort, its characteristics, partitions, and implementations.

  15. 3.15 Selection Sorthistorical

    Selection sort, its characteristics, process, and implementation.

  16. 3.16 Sortinghistorical

    Common sorting algorithms and a complexity comparison.