Following Data Structures and Algorithms are covered in this notes:
- Recursion
- Back Tracking
- Trie
- Dynamic Programming
- 1-D DP
- 2D/3D DP and DP on grids
- DP on subsequences
- DP on Strings
- DP on Buy and Sell Stocks
- DP on Longest Increasing Subsequence
- Partition DP
Problems discussed here will have:
- Explanation of problem statement
- Approach to solve it
- Psuedo Code
- Time Complexity
- Space Complexity
- Space Optimized approach if possible
Dynamic Programming problems will have following key features:
- Intuitive Recursive approach
- Memoized approach
- Tabulated approach
- Further space optimization if possible