1. Data Structures and Algorithmshistorical

    A practical framework for choosing data structures and algorithms by operations, constraints, complexity, and memory/locality.

  2. Arrayhistorical

    Contiguous indexed storage, constant-time random access, resizing, insertion/deletion costs, and cache locality.

  3. Hash Table / Hash Maphistorical

    Hashing, buckets, collisions, load factor, resizing, and expected versus worst-case lookup complexity.

  4. Linked Listhistorical

    Singly/doubly linked lists, insertion/deletion, traversal, pointer techniques, and locality trade-offs.

  5. Queuehistorical

    FIFO queues, dequeues, circular buffers, bounded queues, and priority-queue distinctions.

  6. Sethistorical

    Uniqueness collections implemented with hashing, balanced trees, bitmaps, or specialized structures.

  7. Stackhistorical

    LIFO storage, push/pop/peek operations, recursion, parsing, monotonic stacks, and implementation choices.

  8. Tree Data Structureshistorical

    Rooted trees, binary trees, BSTs, balanced trees, traversals, heaps, tries, and B-tree families.

  9. Red-Black Treehistorical

    A self-balancing binary search tree with color invariants that keep height logarithmic.

  10. Skip Listhistorical

    Probabilistic ordered structure with multiple forward-pointer levels and expected logarithmic search/update.

  11. Heap / Priority Queuehistorical

    Binary heap representation and priority-queue operations such as push, peek, pop, and heapify.

  12. Bitmaphistorical

    Compact set membership and counting over dense integer domains using bits.

  13. Bloom Filterhistorical

    Probabilistic membership testing with no false negatives for inserted items and tunable false positives.

  14. Graphhistorical

    Graph modeling, adjacency lists/matrices, directed/undirected and weighted graphs, and common traversals/problems.

  15. Union-Find (Disjoint Set)historical

    Disjoint-set union with find/union, path compression, and union by rank/size.

  16. LSM Treehistorical

    Log-structured merge-tree write path, sorted runs, compaction, read/write amplification, and storage-engine trade-offs.

  17. Ziplist (Historical Redis Structure)historical

    Historical compact sequential Redis encoding and the general memory-versus-update-cost trade-off of packed representations.

  18. B-Treehistorical

    Multiway balanced search trees optimized for block/page-oriented storage and their relationship to B+ trees.

  19. Sparse Indexhistorical

    Indexing selected block/range boundary keys to reduce index size while requiring local scans within the selected region.

  20. Index Data Structureshistorical

    Why indexes trade extra storage/write work for faster lookup, range, search, or aggregation paths.

  21. Inverted Indexhistorical

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

  22. Cache Replacement Policieshistorical

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

  23. Dynamic Programminghistorical

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

  24. Greedy Algorithmshistorical

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

  25. Divide and Conquerhistorical

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

  26. Recursionhistorical

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

  27. Backtrackinghistorical

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

  28. Depth-First Searchhistorical

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

  29. Binary Searchhistorical

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

  30. Bubble Sorthistorical

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

  31. Linear Searchhistorical

    Sequentially scanning elements when no useful index/order exists.

  32. Heap Sorthistorical

    In-place comparison sorting using heap construction followed by repeated root extraction.

  33. Merge Sorthistorical

    Stable O(n log n) divide-and-conquer sorting by merging sorted halves.

  34. Insertion Sorthistorical

    Stable in-place insertion into a sorted prefix, efficient for small or nearly sorted inputs.

  35. Quick Sorthistorical

    Partition-based sorting with O(n log n) expected time, pivot selection, and worst-case safeguards.

  36. Selection Sorthistorical

    Repeatedly selecting the minimum/maximum with quadratic comparisons and few swaps.

  37. Sorting Algorithms Overviewhistorical

    Comparing sorting algorithms by time, space, stability, adaptiveness, locality, and data constraints.

  38. 4.1 Compare-and-Swap (CAS)historical

    The basic CAS semantics, use cases, ABA problem, and CPU atomic-instruction implementation.

  39. 4.2 Lock-Free Queuehistorical

    A historical CAS-based lock-free queue implementation note and its safe-memory-reclamation boundary.