Dynamic Programming

 Dynamic Programming is the Enhanced recursion. In which we stored the calculated value.

For Dynamic Programming problem we have some option or choice(whether we include data or not) and we have some overlapping problem.

And In Dynamic Programming also asked for  optimal result such that maximize or minimize something.

Step For Solving Dynamic Programming-

1) Recursive solution 

2) Memoization

3) Top Down approach

Total Parent problem in Dynamic Programming-

1) 0-1 Knapsack (6)

2) Unbounded Knapsack (5)

3) Fibonacci (7)

4) LCS (15)

5) LIS  (10)

6) Kadane 's algorithm (6)

7) Matrix chain multipication (7)

8) Dynamic Programming on Trees (4)

9) Dynamic Programming on grid (14)

10) Others (5)


1) 0-1 Knapsack Type Problem-

a)Subset sum

b) Equal sum partition

c) Count of subset sum

d) Minimum Subset sum difference

e) Target sum

f) Number of subset with given differnce


Knapsack Problem Type-

1) Fractional Knapsack (Solve by Greedy Approch)

2) 0-1 Knapsack (Solve by Dynamic Programming )


Comments