Skip to content

Data Structures

Data structures guides covering fundamental and advanced data structures, their implementations, trade-offs, and when to use each one.

Articles in this section

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