Searching and sorting techniques spanning sequential and parallel algorithms, from linear scan to GPU-based distribution sort.
Searching and Sorting
This 350 page list is usable as the final page inventory for Searching and Sorting.
Total check:
| category | count | range |
|---|---|---|
| Linear and sequential search | 20 | 1-20 |
| Binary search and ordered search | 35 | 21-55 |
| Hashing and table search | 25 | 56-80 |
| Tree and indexed search | 35 | 81-115 |
| Selection and order statistics | 35 | 116-150 |
| Elementary sorting | 30 | 151-180 |
| Divide and conquer sorting | 35 | 181-215 |
| Integer and distribution sorting | 40 | 216-255 |
| Partial, online, and adaptive sorting | 30 | 256-285 |
| External memory, cache, and database sorting | 25 | 286-310 |
| Parallel, distributed, and GPU sorting | 25 | 311-335 |
| Specialized search and sorted-order procedures | 15 | 336-350 |
1. Linear and Sequential SearchLinear and sequential scan techniques including sentinel, bounded, recursive variants, duplicate detection, and majority vote.
2. Binary Search and Ordered SearchBinary search and its ordered-search relatives: interpolation, Fibonacci, rotated-array, matrix, parametric, and offline variants.
3. Hashing and Table SearchHash table lookup strategies, open-addressing and chaining variants, probabilistic filters (Bloom, Cuckoo, XOR), and locality-sensitive similarity search.
4. Tree and Indexed SearchTree-based and indexed search: BST, self-balancing trees, tries, suffix structures, segment and range trees, and spatial trees.
5. Selection and Order StatisticsSelection and order-statistics: quickselect, median-of-medians, streaming top-k, heavy hitters, reservoir sampling, and quantile summaries.
6. Elementary SortingElementary comparison-based sorts: bubble, selection, insertion, Shell, comb, cycle, and curiosity sorts.
7. Divide and Conquer SortingDivide-and-conquer sorts: merge sort variants, quicksort family, heapsort, and comparison-based sorting networks.
8. Integer and Distribution SortingNon-comparison sorts: counting, radix, and bucket sort families, string sorting, and suffix array construction.
9. Partial, Online, and Adaptive SortingSorting under constraints: partial sort, online insertion, adaptive merge, Timsort internals, and lazy or order-maintenance sorting.
10. External Memory, Cache, and Database SortingSorting beyond main memory: external merge sort, polyphase merge, cache-oblivious techniques, LSM compaction, and database sort phases.
11. Parallel, Distributed, and GPU SortingHigh-throughput sorting: parallel merge and quicksort, GPU bitonic and radix sort, SIMD sorting networks, and distributed partition-based sorts.
12. Specialized Search and Sorted-Order ProceduresCache-efficient and hardware-tuned search: branchless binary search, Eytzinger and vEB layouts, learned indexes, SIMD search, and galloping intersection.