Algorithms & Data Structures

The structures that hold data and the strategies that search it — complexity analysis, the core container types and what they cost, algorithm design patterns, sorting, and string matching.

Complexity & Analysis

  • Asymptotic Analysis: Big-O and What It Hides budding deep of deep top

    A deep guide to turning an algorithm into a well-defined cost function, proving Big-O, Big-Omega, Big-Theta, little-o, and little-omega bounds, and knowing exactly what those bounds do not predict.

    tended 2026-08-21
  • Amortized Analysis planned target working mid
  • Algorithm Correctness, Invariants & Termination budding deep of deep top

    A correctness proof connects an explicit specification to every execution of an algorithm. Preconditions, postconditions, loop invariants, frame conditions, and well-founded variants divide that argument into local obligations that can be checked by hand or discharged by a verifier.

    tended 2026-08-21

Core Data Structures

  • Abstract Data Types & Contracts budding working of working high

    An abstract data type defines observable values and operations independently of representation. This chapter turns that separation into an engineering method: specify semantics, errors, complexity, stability, ownership, and concurrency; then prove a concrete representation preserves the contract.

    tended 2026-08-25
  • Arrays, Dynamic Arrays & Memory Layout budding working of working high

    Arrays make an index-to-address promise: equal-size elements occupy a contiguous region, so lookup by position is constant time. Dynamic arrays preserve that useful layout while growing geometrically; this chapter derives their costs, invalidation rules, and practical representation choices.

    tended 2026-08-25
  • Linked Lists & Pointer-Based Structures budding working of working mid

    Linked structures encode order through explicit links rather than address arithmetic. This chapter derives singly, doubly, circular, sentinel, and intrusive forms; traces insertion, deletion, and reversal; and makes ownership, iterator stability, locality, and reclamation part of the design.

    tended 2026-08-25
  • Stacks, Queues & Deques budding working of working high

    Stacks, queues, and deques constrain where elements enter and leave a sequence. This chapter derives their LIFO/FIFO contracts, array and linked representations, circular-buffer arithmetic, overflow and blocking policies, invalidation, and concurrent use.

    tended 2026-08-25
  • Hash Tables & Collision Strategies budding deep of deep top

    How a hash table actually works — index reduction, load factor and the probe-count laws, chaining versus open addressing, Robin Hood and cuckoo, and the SIMD metadata designs (Swiss tables) that won on modern hardware — plus rehashing, hash flooding, and why you need a randomised seed but not a cryptographic hash.

    tended 2026-08-19
  • Trees & Balanced Search Trees budding working of working top

    Trees encode hierarchy; search trees add an ordering invariant; balanced variants control path length. This chapter develops representations, traversals, BST search/update, rotations, deletion, augmentation, AVL, red-black, splay, skip-list, concurrency, and selection tradeoffs.

    tended 2026-08-25
  • Heaps & Priority Queues budding working of working high

    A priority queue selects an extremal-priority item; a heap is one efficient representation. This chapter derives binary-heap indexing, swim and sink, linear-time heap construction, heapsort, d-ary and binomial variants, stable tie-breaking, handles, and concurrency constraints.

    tended 2026-08-25
  • Disjoint-Set Union budding working of working high

    Disjoint-set union maintains a changing partition under set merges and representative queries. A parent forest, union by size or rank, and path compression turn long operation sequences into almost-constant amortized work while preserving a small set of decisive invariants.

    tended 2026-08-21
  • Searching & Symbol Tables budding working of working top

    Searching begins with a query contract: exact membership, key-to-value lookup, insertion position, predecessor, range, or prefix. This chapter derives boundary-based binary search, separates comparison count from movement and memory cost, and maps symbol-table workloads to arrays, balanced trees, hashes, tries, and external indexes.

    tended 2026-08-21
  • Tries & String Indexes budding working of working mid

    Tries index keys by successive symbols and make prefix structure explicit. This chapter derives exact and prefix lookup, terminal markers, fanout representations, radix compression, PATRICIA, ternary search tries, Unicode key semantics, suffix indexes, memory layout, and safe mutation.

    tended 2026-08-25
  • External-Memory Algorithms & Data Structures budding working of working mid

    External-memory algorithms count block transfers rather than RAM instructions. This chapter derives scan and sort costs, executes multiway external merge sort, explains page-shaped B/B+ trees and buffered LSM trees, and connects their invariants to read, write, and space amplification on real storage.

    tended 2026-08-22
  • Probabilistic Structures: Bloom Filters & Sketches planned target working high

Algorithm Design

  • Recursion & Recursive Algorithms budding working of working high

    Recursion solves a state by reducing it to smaller states under the same contract. The useful design questions are what decreases, what remains pending in each activation, how work differs from call depth, and when an explicit stack or tail loop gives safer control over space.

    tended 2026-08-21
  • Divide & Conquer planned target working high
  • Dynamic Programming & Memoization planned target working top
  • Greedy Algorithms & Exchange Arguments planned target working mid
  • Heuristics & Approximation Algorithms planned target working mid
  • Branch & Bound budding working of working mid

    Branch and bound turns exhaustive optimization into a proof-producing search: branches partition the candidate set, valid bounds rule out regions, and an incumbent converts local pruning into a global optimality certificate.

    tended 2026-08-21
  • Randomized Algorithms budding working of working mid

    How algorithms use random choices to control expected cost or error, how Las Vegas and Monte Carlo guarantees differ, and how to derive, amplify, reproduce, and audit probabilistic claims.

    tended 2026-08-21
  • Parallel Algorithms: Work, Span & Decomposition budding working of working high

    How to expose independent work as a dependency DAG, derive processor bounds from work and span, reason about speedup and Amdahl's limit, and turn reductions, scans, and sorting networks into efficient parallel schedules.

    tended 2026-08-22
  • Evolutionary Algorithms & Multi-Objective Search budding working of working mid

    Evolutionary algorithms search with a population, selection and randomized variation. They are useful when objectives are discontinuous, simulations are opaque or many trade-offs must be explored, but they spend evaluations rather than exploiting problem structure and provide no generic guarantee of a global optimum.

    tended 2026-08-20

Sorting & Selection

  • Sorting: Comparison, Radix & Hybrid Schemes budding working of working high

    Sorting turns a collection into an order that makes later work cheap, but the right algorithm depends on the order contract, key domain, memory budget, data shape, and required worst-case behavior. This chapter derives the comparison lower bound and explains insertion, merge, heap, quick, radix, and modern hybrid sorting.

    tended 2026-08-25
  • Selection & Order Statistics planned target overview mid

Parsing & Sequences

  • Expression Parsing & Evaluation budding working of working mid

    Expression processing turns characters into tokens, tokens into one precedence-resolved tree or postfix program, and that structure into values under explicit language semantics. This chapter derives shunting-yard and Pratt parsing, traces postfix evaluation, and isolates associativity, unary operators, side effects, diagnostics, and resource limits.

    tended 2026-08-21
  • Sequence Comparison: LCS, Edit Distance & Diff budding working of working mid

    A precise guide to longest common subsequences, edit distance, and textual diff: what each objective means, how dynamic programs and edit graphs solve it, how to reconstruct an answer, and where tokenization or cost choices change the result.

    tended 2026-08-21

Strings

  • String Matching: KMP, Boyer–Moore & Rabin–Karp planned target working mid

Searches titles, aliases, headings, summaries, and full text.↑↓ move ↵ open esc close