A list of important algorithms to study
- Singly Linked List Reversal
- Flyod Cycle Detection Algorithm
- Sliding Window
- Binary Search
- Kadane's Algorithm
- Quick Select
- Insertion Sort
- Selection Sort
- Counting Sort
- Heap Sort
- Merge Sort
- Quick Sort
- Topological Sort
- Preorder Traversal of a Binary Tree
- Inorder Traversal of a Binary Tree
- Postorder Traversal of a Binary Tree
- Level Order Traversal
- Breadth First Search in a Graph
- Depth First Search in a Graph
- Flood Fill Algorithm
- Kruskal's Algorithm
- Floyd Warshall Algorithm
- Dijkstra’s Algorithm
- Bellman Ford Algorithm
- Lee Algorithm
- Graph Bipartite
- Union-Find Algorithm
- KMP Algorithm
- Euclid's Algorithm
- Boyer–Moore Majority Vote Algorithm
- Dutch National Flag Algorithm
- Huffman Coding Algorithm
- Detect Cycle in a Directed Graph
- Zig Zag Traversal of a Matrix
- A* Algorithm
- Dynamic Programming
- Segment Trees
- Binary Indexed Trees (Fenwick Trees)
- Rabin-Karp Algorithm
- Suffix Array and Suffix Tree
- B+ Trees
- Convex Hull Algorithms (e.g., Graham Scan, Jarvis March)
- Strassen's Algorithm for Matrix Multiplication
- RSA Algorithm
- Bloom Filters
- Fast Fourier Transform
- Gauss-Jordan / Gaussian Elimination
- Randomized Algorithms (e.g., Monte Carlo, Las Vegas)
- Viterbi Algorithm
- PageRank
- Lempel-Ziv-Welch (LZW) Compression
- Simulated Annealing
- Backtracking
- N-Queens Problem Solutions
- Miller-Rabin Primality Test
- Linear Programming (Simplex Algorithm)
- Minimax with Alpha-Beta Pruning
- Cocke-Younger-Kasami (CYK) Algorithm
- Expectation-Maximization (EM) Algorithm
- Apriori Algorithm
- Gradient Descent and Its Variants (e.g., Stochastic Gradient Descent, Adam)
- Collaborative Filtering Algorithms
- Tarjan's Algorithm
- Edmonds-Karp Algorithm
- Z Algorithm
- Manacher's Algorithm
- Prefix Tree