Useful Links
Computer Science
Algorithms and Data Structures
Dynamic Programming
1. Introduction to Dynamic Programming
2. Fundamental Principles of Dynamic Programming
3. Core Implementation Approaches
4. Problem-Solving Framework
5. Linear Dynamic Programming
6. Grid-Based Dynamic Programming
7. String Dynamic Programming
8. Knapsack Problem Variants
9. Tree Dynamic Programming
10. Counting Dynamic Programming
11. Advanced Dynamic Programming Techniques
12. Complexity Analysis and Optimization
13. Practical Implementation Considerations
Linear Dynamic Programming
One-Dimensional State Problems
Single Parameter Dependencies
Sequential Decision Making
Classic Linear DP Problems
Fibonacci Sequence
Naive Recursive Solution
Memoized Solution
Tabulated Solution
Space-Optimized Solution
Climbing Stairs
Basic Stair Climbing
Variable Step Sizes
Cost-Based Variations
House Robber
Linear Array Robbing
Circular Array Robbing
Binary Tree Robbing
Maximum Subarray Sum
Kadane's Algorithm
DP Interpretation
Coin Change Problems
Minimum Coins Problem
Number of Ways Problem
Coin Combinations vs Permutations
Longest Increasing Subsequence
O(n²) DP Solution
O(n log n) Binary Search Solution
Patience Sorting Interpretation
Previous
4. Problem-Solving Framework
Go to top
Next
6. Grid-Based Dynamic Programming