Download presentation

Presentation is loading. Please wait.

Published byAlanna Maslyn Modified over 2 years ago

1
Algorithm Design approaches Dr. Jey Veerasamy

2
Petrol cost minimization problem You need to go from S to T by car, spending the minimum for petrol. 2 ST

3
Quick-sort

4
Merge-sort

5
Divide & Conquer - characteristics

6
# of stops minimization problem Similar to petrol cost minimization problem, but we are minimizing # of stops. ST

7
Activity selection problem

8
Fractional knapsack problem Gold powder, silver powder, … Thief has limited weight capacity

9
Greedy approach - characteristics

10
10 Fibonacci number problem Definition of Fibonacci number: F(1) = 1 F(2) = 2 F(n) = F(n-1) + F(n-2), when n > 2 Recursive solution using D&C approach: int f(int n) { if (n == 1) return 1; else if (n == 2) return 2; else return f(n-1) + f(n-2); }

11
11 D&C Solution for F(6) F(1)F(2) F(3)F(2) F(4) F(3) F(5) F(2)F(1) F(6) F(1)F(2) F(3)F(2) F(4) Several subproblems are solved repeatedly - Not an efficient approach.

12
12 DP solution for F(6) F(1)F(2)F(3)F(4)F(5)F(6) DP uses a table and bottom-up approach (note that D&C used top-down approach): int fib(int n) { int f[n+1]; f[1] = 1; f[2] = 2; for (i=3 ; i<= n ; i++) f[i] = f[i-1]+f[i-2]; return f[n]; } Computations are NOT repeated!

13
Knapsack problem Individual pieces with specific weights, thief wants to know whether there is an exact match for his weight limit.

14
Dynamic programming - characteristics

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google