Compare Algorithms
Sort and filter all 55 algorithms by complexity. Click column headers to sort.
55 algorithms
| Algorithm | Category | Difficulty | Best | Average | Worst | Space | Stable |
|---|---|---|---|---|---|---|---|
| N-Queens | Backtracking | intermediate | O(n!) | O(n!) | O(n!) | O(n) | — |
| Sudoku Solver | Backtracking | intermediate | O(1) | O(9^m) | O(9^81) | O(81) | — |
| Generate Permutations | Backtracking | intermediate | O(n! × n) | O(n! × n) | O(n! × n) | O(n) | — |
| Subset Sum | Backtracking | intermediate | O(2^n) | O(2^n) | O(2^n) | O(n) | — |
| Fibonacci (DP) | Dynamic Programming | beginner | O(n) | O(n) | O(n) | O(n) | — |
| 0/1 Knapsack | Dynamic Programming | intermediate | O(nW) | O(nW) | O(nW) | O(nW) | — |
| Longest Common Subsequence | Dynamic Programming | intermediate | O(mn) | O(mn) | O(mn) | O(mn) | — |
| Longest Increasing Subsequence | Dynamic Programming | intermediate | O(n log n) | O(n log n) | O(n log n) | O(n) | — |
| Coin Change | Dynamic Programming | intermediate | O(amount × coins) | O(amount × coins) | O(amount × coins) | O(amount) | — |
| Edit Distance | Dynamic Programming | intermediate | O(mn) | O(mn) | O(mn) | O(mn) | — |
| Matrix Chain Multiplication | Dynamic Programming | advanced | O(n³) | O(n³) | O(n³) | O(n²) | — |
| DP on Trees | Dynamic Programming | advanced | O(n) | O(n) | O(n) | O(n) | — |
| Breadth-First Search | Graphs | intermediate | O(V+E) | O(V+E) | O(V+E) | O(V) | — |
| Depth-First Search | Graphs | intermediate | O(V+E) | O(V+E) | O(V+E) | O(V) | — |
| Dijkstra's Algorithm | Graphs | intermediate | O((V+E) log V) | O((V+E) log V) | O((V+E) log V) | O(V) | — |
| Bellman-Ford | Graphs | intermediate | O(VE) | O(VE) | O(VE) | O(V) | — |
| Floyd-Warshall | Graphs | intermediate | O(V³) | O(V³) | O(V³) | O(V²) | — |
| A* Search | Graphs | advanced | O(E) | O(E log V) | O(V²) | O(V) | — |
| Prim's MST | Graphs | intermediate | O(E log V) | O(E log V) | O(E log V) | O(V) | — |
| Kruskal's MST | Graphs | intermediate | O(E log E) | O(E log E) | O(E log E) | O(V) | — |
| Topological Sort | Graphs | intermediate | O(V+E) | O(V+E) | O(V+E) | O(V) | — |
| Kosaraju's SCC | Graphs | advanced | O(V+E) | O(V+E) | O(V+E) | O(V) | — |
| Tarjan's SCC | Graphs | advanced | O(V+E) | O(V+E) | O(V+E) | O(V) | — |
| Activity Selection | Greedy | intermediate | O(n log n) | O(n log n) | O(n log n) | O(1) | — |
| Fractional Knapsack | Greedy | intermediate | O(n log n) | O(n log n) | O(n log n) | O(1) | — |
| Huffman Encoding | Greedy | intermediate | O(n log n) | O(n log n) | O(n log n) | O(n) | — |
| Job Sequencing | Greedy | intermediate | O(n log n) | O(n²) | O(n²) | O(n) | — |
| Linked List Traversal | Linked Lists | beginner | O(n) | O(n) | O(n) | O(1) | — |
| Linked List Insertion | Linked Lists | beginner | O(1) | O(n) | O(n) | O(1) | — |
| Linked List Deletion | Linked Lists | beginner | O(1) | O(n) | O(n) | O(1) | — |
| Linked List Reversal | Linked Lists | intermediate | O(n) | O(n) | O(n) | O(1) | — |
| Floyd's Cycle Detection | Linked Lists | intermediate | O(n) | O(n) | O(n) | O(1) | — |
| Linear Search | Searching | beginner | O(1) | O(n) | O(n) | O(1) | — |
| Binary Search | Searching | beginner | O(1) | O(log n) | O(log n) | O(1) | — |
| Jump Search | Searching | intermediate | O(1) | O(√n) | O(√n) | O(1) | — |
| Interpolation Search | Searching | intermediate | O(1) | O(log log n) | O(n) | O(1) | — |
| Exponential Search | Searching | intermediate | O(1) | O(log n) | O(log n) | O(1) | — |
| Bubble Sort | Sorting | beginner | O(n) | O(n²) | O(n²) | O(1) | Yes |
| Selection Sort | Sorting | beginner | O(n²) | O(n²) | O(n²) | O(1) | No |
| Insertion Sort | Sorting | beginner | O(n) | O(n²) | O(n²) | O(1) | Yes |
| Merge Sort | Sorting | intermediate | O(n log n) | O(n log n) | O(n log n) | O(n) | Yes |
| Quick Sort | Sorting | intermediate | O(n log n) | O(n log n) | O(n²) | O(log n) | No |
| Heap Sort | Sorting | intermediate | O(n log n) | O(n log n) | O(n log n) | O(1) | No |
| Counting Sort | Sorting | intermediate | O(n+k) | O(n+k) | O(n+k) | O(k) | Yes |
| Radix Sort | Sorting | intermediate | O(nk) | O(nk) | O(nk) | O(n+k) | Yes |
| Shell Sort | Sorting | intermediate | O(n log n) | O(n log² n) | O(n²) | O(1) | No |
| Tim Sort | Sorting | advanced | O(n) | O(n log n) | O(n log n) | O(n) | Yes |
| BST Insert & Search | Trees | intermediate | O(log n) | O(log n) | O(n) | O(h) | — |
| BST Deletion | Trees | intermediate | O(log n) | O(log n) | O(n) | O(h) | — |
| Inorder Traversal | Trees | beginner | O(n) | O(n) | O(n) | O(h) | — |
| Preorder & Postorder | Trees | beginner | O(n) | O(n) | O(n) | O(h) | — |
| Level Order Traversal | Trees | beginner | O(n) | O(n) | O(n) | O(w) | — |
| AVL Tree | Trees | advanced | O(log n) | O(log n) | O(log n) | O(n) | — |
| Segment Tree | Trees | advanced | O(log n) | O(log n) | O(log n) | O(n) | — |
| Fenwick Tree (BIT) | Trees | advanced | O(log n) | O(log n) | O(log n) | O(n) | — |