Major Algorithm Types Cheat Sheet



This content originally appeared on DEV Community and was authored by davinceleecode

1. Brute Force

  • Try all possibilities until you find the answer.
  • ✅ Simple but usually slow (O(2ⁿ), O(n!)).

2. Divide and Conquer

  • Break problem → solve subproblems → combine results.
  • 🔑 Examples: Merge Sort, Quick Sort, Binary Search.

3. Greedy Algorithms

  • Make the best local choice at each step → hope it leads to global optimum.
  • 🔑 Examples: Dijkstra’s shortest path, Huffman coding.

4. Dynamic Programming (DP)

  • Break problem into overlapping subproblems.
  • Save (memoize) results to avoid recomputation.
  • 🔑 Examples: Fibonacci, Knapsack, Matrix path problems.

5. Backtracking

  • Try a path, if it fails → go back and try another.
  • 🔑 Examples: Sudoku solver, N-Queens, Maze solving.

6. Graph Algorithms

  • Work with nodes/edges (networks, maps, dependencies).
  • 🔑 Examples: BFS, DFS, Dijkstra, Kruskal, Prim.

7. Sorting & Searching

  • Sorting: QuickSort, MergeSort, HeapSort, BubbleSort.
  • Searching: Binary Search, Linear Search.

8. Recursion

  • A function calls itself to solve smaller versions of a problem.
  • Often combined with DP, divide & conquer, backtracking.

9. Mathematical / Number Theory

  • 🔑 Examples: GCD (Euclidean), Prime tests, Modular arithmetic.

10. String Algorithms

  • Work on text patterns and substrings.
  • 🔑 Examples: KMP, Rabin-Karp, Trie-based search.

✅ TL;DR

  • Optimization → Greedy or DP.
  • Paths/Networks → Graph.
  • Exploring possibilities → Backtracking.
  • Ordering/Searching data → Sorting/Searching.
  • Formula-style tricks → Math/Number theory.

If you found this helpful, consider supporting my work at ☕ Buy Me a Coffee.


This content originally appeared on DEV Community and was authored by davinceleecode