1. Inverted Indexhistorical

    Mapping terms to document postings for efficient full-text search.

  2. Cache Replacement Policieshistorical

    LRU, LFU, FIFO, random and modern approximate policies, with workload-dependent hit-rate trade-offs.

  3. Dynamic Programminghistorical

    Solving overlapping subproblems with memoization/tabulation by defining state, transition, initialization, and answer.

  4. Greedy Algorithmshistorical

    Making locally optimal choices only when the problem structure proves they compose into a global optimum.

  5. Divide and Conquerhistorical

    Split a problem into smaller independent subproblems, solve them, then combine their results.

  6. Recursionhistorical

    Recursive problem decomposition, base cases, call-stack cost, tail recursion caveats, and iterative alternatives.

  7. Backtrackinghistorical

    Search a decision tree by choose–recurse–undo, with pruning and state management.

  8. Depth-First Searchhistorical

    Recursive or explicit-stack DFS for graphs/trees, visitation state, cycle handling, and complexity.

  9. Binary Searchhistorical

    Logarithmic search over a monotonic/sorted domain, including boundary variants.

  10. Bubble Sorthistorical

    Adjacent-swap sorting with quadratic time and mainly educational value.