Memory layout, invariants, and implementation details for arrays, linked lists, stacks, queues, heaps, hash tables, binary search trees, and traversal operations.
| section | name |
|---|---|
| 1.1 | Arrays and Dynamic Arrays |
| 1.2 | Linked Lists |
| 1.3 | Stacks |
| 1.4 | Queues and Deques |
| 1.5 | Heaps and Priority Queues |
| 1.6 | Hash Tables and Sets |
| 1.7 | Binary Search Trees |
| 1.8 | Basic Tree Traversals |
1.1 Arrays and Dynamic ArraysFixed and dynamic arrays, resizing strategies, memory layout, cache effects, vectorization, and in-place operations.
1.2 Linked ListsSingly, doubly, and circular linked lists with operations for insertion, reversal, cycle detection, sorting, and memory pooling.
1.3 StacksArray and linked stack implementations covering push, pop, monotonic stacks, expression evaluation, and thread-safe variants.
1.4 Queues and DequesArray and linked queues, deques, monotonic queues, priority buckets, delay queues, and concurrent queue designs.
1.5 Heaps and Priority QueuesBinary, d-ary, Fibonacci, pairing, soft heaps, double-ended structures, tournament trees, and concurrent priority queue designs.
1.6 Hash Tables and SetsHash functions, collision resolution strategies, open addressing, chaining, dynamic resizing, perfect hashing, concurrent maps, and probabilistic filters.
1.7 Binary Search TreesBST operations, traversals, augmentation, interval trees, order statistics, persistence, and thread-safe BST designs.
1.8 Basic Tree Traversals and OperationsGeneral tree traversal patterns including DFS, BFS, level-order, zigzag, boundary traversal, LCA, serialization, and iterative approaches.