Topic domain

Data Structures

Layouts and invariants that make operations cheap.

Articles
80
Clusters
8
Foundational
24
Intermediate
32
Advanced
24

Contiguous storage, dynamic arrays, and deque layouts.

  1. Row-Major Layout and the Address Arithmetic Behind Indexing
  2. Growth Policies in Dynamic Arrays and What the Allocator Does With Them
  3. What a Slice Descriptor Holds and Why It Is Three Words
  4. Array of Structs or Struct of Arrays
  5. Sequential Scans, Hardware Prefetch, and the Page Walk
  6. Ring Buffers and the Cost of Telling Full From Empty
All 10 in this cluster →

Lists, intrusive chains, and pointer-based layouts.

  1. Singly Linked Lists: One Pointer per Node and the Cost of Unidirectional Traversal
  2. Doubly Linked Lists and the Sentinel Header That Removes the Null Checks
  3. Intrusive Linked Lists: Embedding the Link in the Payload
  4. Unrolled Linked Lists and the Cost of a Cache Miss per Node
  5. Index-Based Linked Lists for Relocatable and Persistent Storage
  6. XOR Linked Lists: One Link Field for Both Directions
All 10 in this cluster →

Hashing, collision policy, and open addressing.

  1. Separate Chaining and the Load-Factor Threshold
  2. Open Addressing, Probe Sequences, and the Cost of Deletion
  3. Linear Probing and the Arithmetic of Primary Clustering
  4. Hash Functions for Table Indexing: Mixing, Avalanche, and Universal Families
  5. Double Hashing and Quadratic Probing Without Primary Clustering
  6. Incremental Rehashing: Spreading a Resize Across Operations
All 10 in this cluster →

Rotations, height invariants, and ordered maps.

  1. Height Bounds and the Cost of a Degenerate Search Tree
  2. Rotations and the In-Order Sequence They Preserve
  3. Balance Factors, and Why AVL Deletion Cascades
  4. Red-Black Colouring as a Height Proxy
  5. B-Tree Node Occupancy, Splits, and the Minimum Degree
  6. Weight-Balanced Trees and the Ratio That Bounds Depth
All 10 in this cluster →

Partial orders and efficient extraction.

  1. Array Layout and the Sift Invariant in Binary Heaps
  2. Bottom-Up Heap Construction in Linear Time
  3. Indexed Binary Heaps and the Cost of Decrease-Key
  4. d-Ary Heaps and How Branching Factor Changes Cost
  5. Leftist and Skew Heaps: Merging in Logarithmic Time
  6. Binomial Queues and the Carry Chain of Merges
All 10 in this cluster →

Prefix sharing and compressed keys.

  1. Child Representation and the Branching Factor Problem in Tries
  2. Marking Key Boundaries in a Trie
  3. Lexicographic Enumeration and Range Scans over a Trie
  4. Path Compression and the Patricia Trie
  5. Radix Trees over Fixed-Width Integer Keys
  6. Adaptive Radix Tree Node Layouts
All 10 in this cluster →

Disjoint sets, bitsets, and space-efficient indexes.

  1. Parent-Pointer Forests as the Representation of Disjoint Sets
  2. Union by Rank and Path Compression: Two Heuristics That Fix the Chain
  3. The Inverse Ackermann Bound and Why It Is Effectively Constant
  4. Cache Behaviour and Node Layout in Disjoint-Set Arrays
  5. Small-to-Large Merging and the DSU on Tree Technique
  6. Rollback Union-Find and Offline Dynamic Connectivity
All 10 in this cluster →

Filters, sketches, and bounded-error membership.

  1. How a Bloom Filter Trades Bits for a False-Positive Rate
  2. Counting Bloom Filters and the Price of Supporting Deletion
  3. Cuckoo Filters: Fingerprint Placement and the Load-Factor Ceiling
  4. Deriving k Bloom Filter Probes from Two Hash Words
  5. Blocked and Partitioned Bloom Filters for Cache-Resident Probes
  6. HyperLogLog: Estimating Cardinality from a Register Array
All 10 in this cluster →

All Data Structures articles