Data Structures
Data structures guides covering fundamental and advanced data structures, their implementations, trade-offs, and when to use each one.
Learning Path — 18 articles
1
Data Structures Guide with Complexity Cheat Sheet
Master data structures — arrays, linked lists, stacks, queues, hash tables, trees, graphs, and heaps with time …
Start Here
2
Trees and Graphs Guide — Data Structures and Algorithms
Learn trees and graphs — binary trees, BST, AVL trees, graph representations, traversal algorithms, and solving problems …
Start Here
3
Arrays and Linked Lists — Performance Trade-offs Guide
Master arrays and linked lists — memory layout, time complexity, cache behavior, dynamic arrays, circular lists, and …
Start Here
4
Hash Tables Guide — Design and Collision Resolution
Master hash tables — hash functions, collision resolution via chaining and open addressing, load factor, resizing, and …
5
Stacks and Queues Guide — LIFO and FIFO Patterns
Master stacks and queues — LIFO and FIFO operations, array and linked-list implementations, deques, priority queues, and …
6
Heaps and Priority Queues Guide with Heap Sort
Master heaps — binary heap operations, heapify, heap sort, priority queues, language implementations, and applications …
7
Graph Algorithms Guide — BFS, DFS, Shortest Paths
Master graph algorithms — BFS and DFS traversal, Dijkstra's shortest path, topological sort, cycle detection, and …
8
Trie Data Structure Guide — Prefix Trees for Strings
Master tries — prefix trees, insertion and search, autocomplete, spell checking, compressed tries, and applications in …
9
Sorting Algorithms: Complete Guide
Learn sorting algorithms — comparison sorts (quick, merge, heap) vs non-comparison (counting, radix), complexity, …
10
Searching Algorithms Guide — Linear and Binary Search
Master searching algorithms — linear search, binary search, interpolation, exponential search, and search strategies for …
11
Dynamic Programming: From Basics to Advanced
Learn dynamic programming — memoization, tabulation, optimal substructure, overlapping subproblems, classic DP problems, …
12
Greedy Algorithms: When Local Optima Build Global Solutions
Learn greedy algorithms — making locally optimal choices, proof techniques, fractional knapsack, Huffman coding, and …
13
Divide and Conquer: Breaking Problems Down
Learn divide and conquer — recursion, master theorem, merge sort, quick sort, binary search, closest pair, and analyzing …
14
Recursion: Thinking Recursively
Learn recursion — base cases, recursive cases, stack frames, tail recursion, backtracking, recursion trees, and …
15
Bloom Filters and Probabilistic Data Structures
Learn Bloom filters and probabilistic data structures — Bloom filter operations, false positives, counting Bloom …
16
String Data Structures Guide
Learn string data structures — suffix trees, tries, Aho-Corasick, Knuth-Morris-Pratt, Z-algorithm, Rabin-Karp, and …
Advanced
17
Approximate Nearest Neighbor Search
Learn approximate nearest neighbor search — locality-sensitive hashing, product quantization, HNSW, ANNOY, and vector …
Advanced
18
Spatial Data Structures: Quadtrees and KD-Trees
Learn spatial data structures — quadtrees, kd-trees, R-trees, spatial indexing, range queries, nearest neighbor search, …
Advanced