Comprehensive list of Data structures and Algorithms categorized by type and usage:
- Array
- Linked List
- Singly Linked List
- Doubly Linked List
- Circular Linked List
- Stack
- Queue
- Simple Queue
- Circular Queue
- Priority Queue
- Deque (Double-Ended Queue)
- Tree
- Binary Tree
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- B-Tree
- B+ Tree
- Segment Tree
- Fenwick Tree (Binary Indexed Tree)
- Suffix Tree
- Trie (Prefix Tree)
- Quad Tree
- Graph
- Adjacency List Representation
- Adjacency Matrix Representation
- Weighted Graph
- Directed Graph
- Undirected Graph
- Directed Acyclic Graph (DAG)
- Heap
- Min Heap
- Max Heap
- Fibonacci Heap
- Hash Table
- Chaining
- Open Addressing (Linear Probing, Quadratic Probing, Double Hashing)
- Bloom Filter
- Disjoint Set (Union-Find)
- Matrix (2D arrays)
- Skip List
- Suffix Array
- Interval Tree
- Sparse Table
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bucket Sort
- Shell Sort
- Tim Sort
- Linear Search
- Binary Search
- Jump Search
- Interpolation Search
- Exponential Search
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Dijkstra’s Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Kruskal’s Algorithm (Minimum Spanning Tree)
- Prim’s Algorithm (Minimum Spanning Tree)
- Topological Sorting
- A Search Algorithm*
- Johnson’s Algorithm
- Tarjan’s Algorithm (Strongly Connected Components)
- Kosaraju’s Algorithm (Strongly Connected Components)
- Ford-Fulkerson Algorithm (Maximum Flow)
- Tree Traversals
- Inorder
- Preorder
- Postorder
- Level Order
- Lowest Common Ancestor (LCA)
- Segment Tree Construction and Query
- Fenwick Tree Updates and Query
- Trie Operations (Insert, Search, Delete)
- Knapsack Problem
- 0/1 Knapsack
- Fractional Knapsack
- Longest Common Subsequence (LCS)
- Longest Increasing Subsequence (LIS)
- Matrix Chain Multiplication
- Floyd-Warshall Algorithm
- Subset Sum Problem
- Rod Cutting Problem
- Egg Dropping Problem
- Coin Change Problem
- Merge Sort
- Quick Sort
- Binary Search
- Strassen’s Matrix Multiplication
- Activity Selection Problem
- Huffman Coding
- Kruskal’s Algorithm
- Prim’s Algorithm
- Dijkstra’s Algorithm
- N-Queens Problem
- Sudoku Solver
- Rat in a Maze
- Word Search
- Hamiltonian Cycle
- Knight’s Tour Problem
- KMP Algorithm (Knuth-Morris-Pratt)
- Rabin-Karp Algorithm
- Z Algorithm
- Boyer-Moore Algorithm
- Aho-Corasick Algorithm
- Suffix Array Construction
- Suffix Tree Operations
- Greatest Common Divisor (GCD)
- Least Common Multiple (LCM)
- Sieve of Eratosthenes
- Prime Factorization
- Modular Exponentiation
- Euclidean Algorithm
- Chinese Remainder Theorem
- Fast Fourier Transform (FFT)
- Bitwise AND/OR/XOR
- Counting Set Bits (Hamming Weight)
- Bit Masking
- Checking Power of Two
- Reversing Bits
- Modular Arithmetic
- Miller-Rabin Primality Test
- Elliptic Curve Cryptography (ECC)
- Discrete Logarithm
- Extended Euclidean Algorithm
- Flood Fill Algorithm
- Union-Find Algorithm (for Disjoint Sets)
- Reservoir Sampling
- Fisher-Yates Shuffle
- Manacher’s Algorithm (Longest Palindromic Substring)
- Sliding Window Technique
- Two Pointer Technique