DSA
DSA
A
Abstract Data Types (ADT)
Adjacency Matrix & List
Amortized Analysis
AVL Trees
Articulation Points & Bridges
Aho-Corasick Algorithm (String Matching)
A (A-Star) Algorithm*
Approximation Algorithms
Activity Selection Problem
Augmented Data Structures
B
Backtracking
Balanced Trees (AVL, Red-Black, Splay, B-Trees, etc.)
Bellman-Ford Algorithm (Shortest Path)
BFS (Breadth-First Search)
Binary Heap
Binary Indexed Tree (Fenwick Tree)
Binary Search
Binary Search Tree (BST)
Bipartite Graphs
Bit Manipulation & Bitwise Operations
Bloom Filters
Boyer-Moore Algorithm (String Matching)
Bridges in Graphs (Tarjan’s Algorithm)
Bucket Sort
Burrows-Wheeler Transform
C
Cartesian Tree
Catalan Numbers
Centroid Decomposition (Tree Algorithm)
Chinese Remainder Theorem
Circular Linked List
Cocktail Shaker Sort
Combinatorial Algorithms
Competitive Programming Techniques
Convex Hull (Computational Geometry)
Count Sort
Cycle Detection (Graph Algorithms: DFS, Floyd’s, Union-Find, etc.)
Cuckoo Hashing
Cycle Sort
D
DAG (Directed Acyclic Graphs)
Dancing Links (DLX, Knuth’s Algorithm X)
Dary Heap (d-ary Heap)
Davis-Putnam Algorithm (SAT Solving)
Delaunay Triangulation (Computational Geometry)
Depth-First Search (DFS)
Deque (Double-Ended Queue)
Dijkstra’s Algorithm (Shortest Path)
Disjoint Set Union (DSU, Union-Find)
Doubly Linked List
Dynamic Connectivity
Dynamic Programming (DP) Techniques
E
Euler’s Totient Function
Eulerian Path & Circuit
Exponential Search
Extended Euclidean Algorithm
F
Fibonacci Heap
Floyd-Warshall Algorithm (All-Pairs Shortest Path)
Ford-Fulkerson Algorithm (Max Flow)
Four Russian Algorithm
Fractional Knapsack (Greedy Algorithm)
Freivalds’ Algorithm (Matrix Multiplication Verification)
G
Gale-Shapley Algorithm (Stable Marriage Problem)
Game Theory in Algorithms
Geometric Algorithms (Computational Geometry)
Graph Algorithms (BFS, DFS, MST, Shortest Path, etc.)
Greedy Algorithms
Grid-Based Algorithms (Pathfinding, Flood Fill, etc.)
H
Hashing (Hash Tables, Hash Maps, Perfect Hashing, etc.)
Heap Data Structure (Binary Heap, Fibonacci Heap, etc.)
Heap Sort
Hopcroft-Karp Algorithm (Maximum Bipartite Matching)
Hungarian Algorithm (Assignment Problem)
Huffman Coding (Data Compression)
I
Implicit Treap
Interpolation Search
Interval Scheduling
Inversion Count (Merge Sort Application)
Iterative Deepening Search (IDS)
J
Johnson’s Algorithm (All-Pairs Shortest Path on Sparse Graphs)
Josephus Problem
Jump Search
K
Kahn’s Algorithm (Topological Sorting)
K-D Tree (Spatial Data Structure)
Karger’s Algorithm (Minimum Cut)
KMP Algorithm (Knuth-Morris-Pratt, String Matching)
Kruskal’s Algorithm (Minimum Spanning Tree - MST)
K-Way Merge Algorithm
L
LCS (Longest Common Subsequence)
LCA (Lowest Common Ancestor, Binary Lifting, etc.)
LIFO (Stack Data Structure)
Linear Search
Linked List (Singly, Doubly, Circular, etc.)
Longest Increasing Subsequence (LIS)
LRU Cache (Least Recently Used Cache, Data Structure)
M
Manacher’s Algorithm (Longest Palindromic Substring)
Matrix Chain Multiplication (DP)
Max Flow (Edmonds-Karp, Ford-Fulkerson, Dinic’s Algorithm)
Merge Sort
Min Heap & Max Heap
Minimum Spanning Tree (Prim’s & Kruskal’s Algorithm)
Monte Carlo Algorithms
Morris Traversal (Binary Tree Traversal without Recursion/Stack)
MST (Minimum Spanning Tree)
N
Naïve String Matching Algorithm
Nim Game (Game Theory & DP)
Network Flow Algorithms
Number Theory in Algorithms
Nussinov’s Algorithm (RNA Secondary Structure Prediction)
O
Optimal Binary Search Tree (OBST)
Order Statistics (k-th Smallest Element, etc.)
P
Pancake Sorting
Palindromic Tree (Manacher’s Algorithm)
Pattern Matching Algorithms
Persistent Data Structures
Permutation Algorithms
Prefix Sum & Difference Arrays
Prim’s Algorithm (MST)
Priority Queue
Pseudo polynomial Algorithms (Subset Sum, etc.)
Q
Queue (FIFO Data Structure, Priority Queue, etc.)
Quicksort
Quickselect (Median of Unsorted List in Linear Time)
Quantum Algorithms (Grover’s, Shor’s Algorithm, etc.)
R
Radix Sort
Rabin-Karp Algorithm (String Matching, Hashing)
Range Queries (Segment Tree, BIT, RMQ, etc.)
Recursion & Backtracking
Red-Black Trees (Self-Balancing BST)
Reservoir Sampling
Rolling Hash
Rope Data Structure
S
Segment Tree
Shortest Path Algorithms (Dijkstra, Bellman-Ford, A)*
Skip List
Splay Tree
Suffix Array & Suffix Tree
Stack (LIFO Data Structure)
Stable Matching Algorithms
Sparse Table (RMQ, Static Queries)
Strongly Connected Components (Kosaraju, Tarjan’s Algorithm)
T
Tarjan’s Algorithm (SCCs, Bridges, Articulation Points)
Ternary Search
Timsort
Topological Sorting
Towers of Hanoi (Recursion Example)
Trie (Prefix Tree, String Data Structure)
U
Union-Find (Disjoint Set Union, DSU)
V
Van Emde Boas Tree
Vertex Cover Problem
W
Wavelet Trees
Welsh-Powell Algorithm (Graph Coloring)
Z
Z-Algorithm (Substring Search in Linear Time)
Zobrist Hashing (Game State Hashing)