This is a continuously updating list of some of the most essential algorithms implemented in pseudocode, C++, Python and Java.
- Divide and conquer
- Bubble Sort
- Insertion Sort
- Counting Sort
- Merge Sort
- Quick Sort
- Radix Sort
- Linear Search
- Binary Search
- Sieve of Erathostenes
- Knuth-Morris-Pratt Algorithm (KMP)
- Greedy. Maximum number of non-overlapping intervals on an axis
- Fractional Knapsack Problem
- Dynamic Programming. 0-1 Knapsack Problem
- Longest Common Subsequence
- Longest Increasing Subsequence
- Convex Hull
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Floyd-Warshall / Roy-Floyd
- Dijkstra
- Bellman-Ford
- Kruskal
- Topological Sorting
Pseudocode Implementation: @LiaGroza
C++ Implementation: @LiaGroza
Python Implementation: 1-2, 4-20 - @LiaGroza / 3, 21-24 - @MahmoudFettal
Java Implementation: @Abbeyme1