- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bucket Sort
- Linear Search
- Binary Search
- Ternary Search
- Jump Search
- Interpolation Search
- Exponential Search
- Array
- Stack
- Queue
- Linked List
- Naive Pattern Searching
- KMP
- Rabin-Karp
- Finite Automata
- Suffix Array
- Z Algorithm
- Fibonacci Series
- Palindrome Number
- Prime Number
- Finding Divisors
- Base Conversion
- Greatest Common Divisor (GCD) (Euclidean method)
- Lowest Common Multiple (LCM)
- Number of Digits of a Factorial
- Phi Function (Euler Totient)
- Extended Euclidean
- Prime Factorization
- Modular Exponentiation
- Binary Tree
- Binary Search Tree
- Red-black Tree
- AVL Tree
- Segment Tree
- Binary Index Tree
- Trie
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Shortest Path from source to all vertices Dijkstra
- Shortest Path from every vertex to every other vertex Floyd Warshall
- Minimum Spanning tree Prim
- Minimum Spanning tree Kruskal
- Topological Sort
- Johnson’s algorithm
- Articulation Points (or Cut Vertices) in a Graph
- Strongly Connected Components (SCC)
- Kosaraju’s Algorithm
- Bellman-Ford
- Recursive vs Iteration
- Longest Increasing/Decreasing Subsequence (LIS/LDS)
- Longest Common Subsequence (LCS)
- Edit Distance
- Traveling Salesman
- Coin Change
- Maximum Sum in Subarray (1D)
- Maximum Sum in Rectangle (2D)