Data Structures & Algorithms
No unnecessary content. Just the concepts that matter, explained with examples and organized for easy learning. Search topics, explore concepts, and build a strong foundation in problem solving.
What You'll Find
- DSPopular Data Structures like Arrays, Strings, Linked Lists, Stacks, Queues, Trees, Graphs, Heaps, Hash Maps, and Tries.
- ALGOEssential Algorithms including Sorting, Searching, Recursion, Dynamic Programming, Greedy, Graph Algorithms, Backtracking, and more.
- A–ZAn A–Z reference to quickly jump to any topic.
- PROBCompany-specific LeetCode problems with company tags to help you prepare for coding interviews at top tech companies.
- SRCHA fast search to help you find any concept in seconds.
Why Use This Guide?
This guide is a centralized collection of Data Structures and Algorithms resources, bringing together the most important concepts in one place. Instead of switching between multiple websites, you can learn, revise, and navigate every major DSA topic from a single organized resource.
Whether you're starting your DSA journey, preparing for coding interviews, practicing LeetCode, or revising before placements, this guide provides a structured roadmap with concepts, algorithms, and company-specific problems to help you learn efficiently.
Data Structures
The containers. The shapes of memory.
- 01.001READ →
Arrays
geeksforgeeks.org - 01.002READ →
Strings
geeksforgeeks.org - 01.003READ →
Linked List
geeksforgeeks.org - 01.004READ →
Stack
geeksforgeeks.org - 01.005READ →
Queue
geeksforgeeks.org - 01.006READ →
Deque (Double-ended Queue)
geeksforgeeks.org - 01.007READ →
Hash Table / HashMap
geeksforgeeks.org - 01.008READ →
HashSet
geeksforgeeks.org - 01.009READ →
Priority Queue (Min/Max Heap)
geeksforgeeks.org - 01.010READ →
Heaps (MinHeap, MaxHeap)
geeksforgeeks.org - 01.011READ →
Binary Tree
geeksforgeeks.org - 01.012READ →
Binary Search Tree (BST)
geeksforgeeks.org - 01.013READ →
AVL Tree
geeksforgeeks.org - 01.014READ →
Segment Tree
geeksforgeeks.org - 01.015READ →
Fenwick Tree (BIT)
geeksforgeeks.org - 01.016READ →
Trie (prefix Tree)
geeksforgeeks.org - 01.017READ →
Suffix Tree / Array
geeksforgeeks.org - 01.018READ →
Graph (Adj. List/Matrix)
geeksforgeeks.org - 01.019READ →
Union-Find (DSU)
geeksforgeeks.org - 01.020READ →
Tree Map (Balanced BST Map)
geeksforgeeks.org - 01.021READ →
TreeSet
geeksforgeeks.org - 01.022READ →
Treap
cp-algorithms.com - 01.023READ →
K-D Tree
geeksforgeeks.org - 01.024READ →
LRU cache
geeksforgeeks.org - 01.025READ →
Disjoint Intervals
geeksforgeeks.org - 01.026READ →
Rope
geeksforgeeks.org - 01.027READ →
Skip List
geeksforgeeks.org - 01.028READ →
Circular Buffers
geeksforgeeks.org - 01.029READ →
Bloom Filter
geeksforgeeks.org - 01.030READ →
B-Trees / B+ Trees
geeksforgeeks.org - 01.031READ →
Sparse Table
cp-algorithms.com - 01.032READ →
Euler Tour Tree
codeforces.com
Algorithms
The verbs. The moves you make on the data.
- 02.001READ →
A* Algorithm
geeksforgeeks.org - 02.002READ →
Allocation (Binary Search on Answer)
codeforces.com - 02.003READ →
Articulation Points & Bridges
cp-algorithms.com - 02.004READ →
Bellman-Ford Algorithm
cp-algorithms.com - 02.005READ →
Binary Indexed Tree (Fenwick Tree)
geeksforgeeks.org - 02.006READ →
Binary Lifting
cp-algorithms.com - 02.007READ →
Binary Search
geeksforgeeks.org - 02.008READ →
Bitmasking
geeksforgeeks.org - 02.009READ →
Bitwise Operations
geeksforgeeks.org - 02.010READ →
Biconnected Components
cp-algorithms.com - 02.011READ →
Centroid Decomposition
usaco.guide - 02.012READ →
Combinatorics
geeksforgeeks.org - 02.013READ →
Comparator Functions
geeksforgeeks.org - 02.014READ →
Convex Hull
geeksforgeeks.org - 02.015READ →
Coordinate Compression
usaco.guide - 02.016READ →
Cycle Detection
cp-algorithms.com - 02.017READ →
De Bruijn Sequence / Eulerian Path
geeksforgeeks.org - 02.018READ →
DFS / BFS
wscubetech.com - 02.019READ →
Dijkstra's Algorithm
cp-algorithms.com - 02.020READ →
Disjoint Set Union (Union-Find)
geeksforgeeks.org - 02.021READ →
Divide and Conquer
geeksforgeeks.org - 02.022READ →
Dynamic Programming
geeksforgeeks.org - 02.023READ →
Euler Tour
geeksforgeeks.org - 02.024READ →
Fast Exponentiation (Binary Exp)
geeksforgeeks.org - 02.025READ →
Floyd-Warshall Algorithm
geeksforgeeks.org - 02.026READ →
Game Theory
geeksforgeeks.org - 02.027READ →
Geometrical Analysis
geeksforgeeks.org - 02.028READ →
Greedy
geeksforgeeks.org - 02.029READ →
Heavy-Light Decomposition
cp-algorithms.com - 02.030READ →
Kadane's Algorithm
geeksforgeeks.org - 02.031READ →
KMP Algorithm
cp-algorithms.com - 02.032READ →
Kruskal's Algorithm
geeksforgeeks.org - 02.033READ →
Least Common Ancestor (LCA)
cp-algorithms.com - 02.034READ →
Line Sweep (Interval Merging)
geeksforgeeks.org - 02.035READ →
Link-Cut Tree
geeksforgeeks.org - 02.036READ →
Manacher's Algorithm
geeksforgeeks.org - 02.037READ →
Matrix Exponentiation
geeksforgeeks.org - 02.038READ →
Minimum Deletions / Additions
youtube.com - 02.039READ →
Mo's Algorithm
cp-algorithms.com - 02.040READ →
Morris Traversal
geeksforgeeks.org - 02.041READ →
Offline Queries
geeksforgeeks.org - 02.042READ →
Palindromic Tree (Eertree)
rosettacode.org - 02.043READ →
Prefix Sum / Difference Array
geeksforgeeks.org - 02.044READ →
Prim's Algorithm
geeksforgeeks.org - 02.045READ →
Recursion & Backtracking
geeksforgeeks.org - 02.046READ →
Reservoir Sampling
geeksforgeeks.org - 02.047READ →
Rolling Hash / Rabin-Karp
geeksforgeeks.org - 02.048READ →
Segment Tree / Lazy Propagation
geeksforgeeks.org - 02.049READ →
Shortest path Algorithms
geeksforgeeks.org - 02.050READ →
Sieve of Eratosthenes
geeksforgeeks.org - 02.051READ →
Sliding Window
geeksforgeeks.org - 02.052READ →
Sparse Table
cp-algorithms.com - 02.053READ →
Stack / Monotonic Stack
geeksforgeeks.org - 02.054READ →
Strongly Connected Components (SCC)
geeksforgeeks.org - 02.055READ →
Sweep Line Algorithm
geeksforgeeks.org - 02.056READ →
Tarjan's Algorithm
geeksforgeeks.org - 02.057READ →
Topological Sorting
geeksforgeeks.org - 02.058READ →
Trie (Prefix Tree)
geeksforgeeks.org - 02.059READ →
Ternary Search
geeksforgeeks.org - 02.060READ →
Two Pointers
geeksforgeeks.org - 02.061READ →
Union-Find / Disjoint Sets
geeksforgeeks.org - 02.062READ →
Z-Algorithm
cp-algorithms.com