Data Structures Hub
Data structures are the specialized formats for organizing, processing, retrieving, and storing data. This hub organizes Wikantik's content on the fundamental building blocks of efficient software, from the formal analysis of algorithm complexity to specialized structures for search, geometry, and large-scale distribution.
Foundations and Analysis
The tools for measuring and understanding computational efficiency.
- [Data Structures](DataStructures) — Overarching survey of the field and the fundamental trade-offs between space and time
- [Foundational Algorithms for Computer Scientists](FoundationalAlgorithmsForComputerScientists) — The essential toolkit of algorithms every practitioner should master
- [Amortized Analysis](AmortizedAnalysis) — Analyzing the average performance of an operation over a worst-case sequence of events
- [Calculus Refresh for CS](DifferentialCalculus) — The continuous math that underpins asymptotic analysis and Big-O
Basic Structures
The ubiquitous primitives used in almost every software system.
- [Hash Table Design](HashTableDesign) — Collision resolution, load factors, and the trade-offs of the most versatile data structure
- [Heap and Priority Queues](HeapAndPriorityQueues) — Implementing efficient min/max retrieval and its use in scheduling and graph search
- [Sorting Algorithms Comparison](SortingAlgorithmsComparison) — Trade-offs between O(n log n) and O(n²) algorithms, stability, and in-place sorting
- [Bloom Filters](BloomFilters) — Space-efficient probabilistic data structures for set membership testing
Tree and Hierarchical Structures
Structures optimized for ordered search and range queries.
- [Balanced Search Trees](BalancedSearchTrees) — AVL, Red-Black, and the mechanics of keeping search trees performant
- [B+ Trees](BPlusTrees) — The workhorse of database indexing and filesystem design (optimized for disk I/O)
- [Trie Data Structure](TrieDataStructure) — Prefix trees for efficient string search and autocomplete
- [Interval Trees](IntervalTrees) — Managing and querying overlapping intervals and ranges
Graph and String Algorithms
Handling complex relational data and unstructured text.
- [Graph Algorithms Deep Dive](GraphAlgorithmsDeepDive) — Traversals, shortest paths, spanning trees, and network flow
- [Graph Coloring Deep Dive](GraphColoringDeepDive) — Specialized graph algorithms for resource allocation and scheduling
- [String Matching Algorithms](StringMatchingAlgorithms) — From naive search to Boyer-Moore and KMP for efficient pattern matching
Specialized and Advanced Structures
- [CRDT Data Structures](CrdtDataStructures) — Conflict-free Replicated Data Types for distributed systems and collaborative editing
- [Topological Data Analysis](TopologicalDataAnalysis) — Using topology to understand the "shape" of high-dimensional data
- [HNSW](HNSW) — Hierarchical Navigable Small World graphs for high-dimensional vector search
- [Vector Indexing Internals](VectorIndexingInternals) — Comparing HNSW and IVF-PQ for ANN retrieval
Adjacent Hubs
- [Software Engineering Practices Hub](SoftwareEngineeringPracticesHub) — Applying these structures in production codebases
- [Mathematics Hub](MathematicsHub) — The discrete math and logic underlying algorithm design
- [Distributed Systems Hub](DistributedSystemsHub) — Scaling data structures across multiple nodes