Dynamic Programming (DP) is an algorithmic technique used when solving an optimization problem by breaking it down into simpler subproblems and utilizing the fact that the optimal solution to the overall problem depends upon the optimal solution to its subproblems. It is not efficient in terms of memory: Since recursion involves function calls, each recursive call creates an entry for all the variables and constants in the function stack. These values are kept there until the function returns. Therefore, recursion is always limited by the stack space in the system.
How to solve a dynamic programming problem?
By Pradipta Choudhury
● Published At Dec 2021
This article covers dynamic programming; how we can approach it, a discussion around its time and space complexity, and finally has gone through a hands-on example.... Keep reading ..
Memoization vs Tabulation
By Reet Maggo
● Published At Oct 2021
This article will discuss and compare the working of tabulation and memoization in dynamic programming with the help of a code snippet and algorithm for the chosen example while also discussing the time and space complexity for the same. ... Keep reading ..
Overlapping substructure vs overlapping sub problems
By Nishant Rana
● Published At Feb 2022
This blog will cover the Optimal substructure and Overlapping subproblems. ... Keep reading ..