UsefulLinks
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
9.
Tree Dynamic Programming
9.1.
Tree Structure Exploitation
9.1.1.
Subtree Independence
9.1.2.
Root-Based Decomposition
9.2.
Tree DP Implementation Patterns
9.2.1.
DFS-Based Traversal
9.2.2.
State Propagation Methods
9.2.3.
Parent-Child Relationships
9.3.
Classic Tree DP Problems
9.3.1.
Tree Diameter
9.3.1.1.
Path Through Root
9.3.1.2.
Path Not Through Root
9.3.2.
Maximum Path Sum
9.3.2.1.
Node Value Considerations
9.3.2.2.
Path Definition Variations
9.3.3.
Tree Coloring Problems
9.3.3.1.
Independent Set on Trees
9.3.3.2.
Vertex Cover on Trees
9.3.4.
Subtree Size Problems
9.3.4.1.
Counting Nodes
9.3.4.2.
Weighted Subtree Sums
Previous
8. Knapsack Problem Variants
Go to top
Next
10. Counting Dynamic Programming