DP = Recursion + Memorization
Algorithms
- Recursion in programming refers to the process in which a function calls itself directly or indirectly to solve a problem. It's a powerful concept to solve problems that can be broken down into smaller, similar subproblems.
- Data structures are ways of organizing and storing data. Algorithms are ways of manipulating and processing data. Often, algorithms are performed on specific data structures to be effective. In computation, we always want to use less time and less space to perform the same computation.