This is a continuously updating list of some of the most essential algorithms implemented in pseudocode, C++14, Python 3.6 and Java.
- Divide and conquer
- Bubble Sort
- Insertion Sort
- Counting Sort
- Selection Sort
- Merge Sort
- Quick Sort
- Heap 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: 1-6, 8-25 - @iuliagroza / 7 - @notreallystatic
C++ Implementation: 1-6, 8-25 - @iuliagroza / 7 - @notreallystatic
Python Implementation: 1-2, 4-20 - @iuliagroza / 3, 21-24 - @MahmoudFettal
Java Implementation: @Abbeyme1