- Python 3
- Merge Sort
- Quick Sort
- Counting Sort
- Bucket Sort
- Radix Sort
- Key Index Search and Sort
- Binary Search
- Ternary Search
- Jump Search
- Interpolation Search (improved variant of binary search)
- Graph Representations (Undirected)
- BFS and DFS Algorithms
- Topological Sort
- Minimum Coin Change (Greedy Method)
- Dijkstra's Algorithm
- Kruskal's Algorithm
- Prim's Algorithm
- LCS Algorithm
- Fractional Knapsack (aka Continuous Knapsack)
- 0-1 Knapsack Problem
- Hamming Distance
- Edit Distance Recursive Algorithm (Levensthein Distance if all of the operations are of cost = 1)
- Edit Distance Dynamic Programming Algorithm
- Run Length Encoding
- Huffman Coding
- Strassen’s Matrix Multiplication
- Matrix Chain Multiplication (Dynamic Programming)
- MiniMax Algorithm