Divide & Conquer
• Definition:
• • Break problem into subproblems
• • Solve subproblems recursively
• • Combine solutions
Divide & Conquer
• Examples:
• • Merge Sort
• • Quick Sort
• • Binary Search
• Advantages & Use Cases
Greedy Method
• Definition:
• • Make locally optimal choice
• • Works when local optimum leads to global
optimum
Greedy Method
• Examples:
• • Activity Selection
• • Huffman Coding
• • Dijkstra’s Algorithm
Dynamic Programming
• Definition:
• • Solve overlapping subproblems
• • Uses memoization or tabulation
Dynamic Programming
• Examples:
• • Fibonacci (DP)
• • Knapsack Problem
• • Longest Common Subsequence
Branch & Bound
• Definition:
• • Optimization technique
• • Prunes search space using bounds
Branch & Bound
• Examples:
• • Travelling Salesman Problem
• • Knapsack (B&B)
• Advantages
Backtracking
• Definition:
• • Tries all possibilities
• • Abandons invalid paths
Backtracking
• Examples:
• • N-Queens
• • Sudoku Solver
• • Subset Generation