# Divide and Conquer and Dynamic Programming Algorithms

Often students get confused what are differences between divide and conquer and dynamic programming. Since they solve problems in similar nature. Divide the problem into sub-problems combine them to get solution. Here I list the differences  between divide and conquer and dynamic programming in a table and also  made quizzes so that you can practice questions.

Divide and ConquerDynamic Programming
Examples-
Quick Sort, Binary Search, Merge Sort
Examples- Matrix Chain Multiplication, Bellman Ford for Shortest Path
Uses top-down approach to solve problems.Uses bottom-up approach to solve problems.
Partition the problem into independent sub-problems.Partition the problem into dependent sub-problems.
It recomputes sub-problems many times.Dynamic programming solves the sub-problems
once and keep them into a table.

``` ```

``` #1 Dynamic programming uses Top-Down Approach Bottom-Up Approach #2 Divide and conquer uses Top-Down Approach Bottom-Up Approach #3 Dynamic programming divides the problems into Dependent Sub-Problems Independent Sub-Problems #4 Divide and conquer divides the problems into Dependent Sub-Problems Independent Sub-Problems #5 Dynamic programming is used to solve the type of problems Optimization Problems Intractable Problems finish Results - Share to Your Friend                 Share to Your Friend                 let hdq_quiz_id = 376; let hdq_timer = 0; let hdq_show_what_answers_were_right_wrong = ""; let hdq_show_correct = ""; let hdq_show_answer_text = ""; let hdq_pass_percent = 0; let hdq_share_results = ""; let hdq_quiz_permalink = "https://www.postnetwork.co/divide-and-conquer-and-dynamic-programming-algorithms/"; let hdq_twitter_handle = "harmonic_design"; let hdq_quiz_name = "Divide and Conquer and Dynamic Programming Algorithms"; let hdq_featured_image = ""; ```
``` ```