*77*

# Differentiate between Dynamic Programming and Greedy Method

Dynamic Programming | Greedy Method |
---|---|

1. Dynamic Programming is used to obtain the optimal solution. | 1. Greedy Method is also used to get the optimal solution. |

2. In Dynamic Programming, we choose at each step, but the choice may depend on the solution to sub-problems. | 2. In a greedy Algorithm, we make whatever choice seems best at the moment and then solve the sub-problems arising after the choice is made. |

3. Less efficient as compared to a greedy approach | 3. More efficient as compared to a greedy approach |

4. Example: 0/1 Knapsack | 4. Example: Fractional Knapsack |

5. It is guaranteed that Dynamic Programming will generate an optimal solution using Principle of Optimality. | 5. In Greedy Method, there is no such guarantee of getting Optimal Solution. |

Next TopicBacktracking