Chapter 9: Dynamic Programming

  • Every dynamic-programming solution involves a grid.

  • The values in the cells are usually what you’re trying to optimize. For the knapsack problem, the values were the value of the goods.

  • Each cell is a subproblem, so think about how you can divide your problem into subproblems. That will help you figure out what the axes are.

  • Dynamic programming is useful when you’re trying to optimize something given a constraint.

  • You can use dynamic programming when the problem can be broken into discrete subproblems.

  • Every dynamic-programming solution involves a grid.

  • The values in the cells are usually what you’re trying to optimize.

  • Each cell is a subproblem, so think about how you can divide your problem into subproblems.

  • There’s no single formula for calculating a dynamic-programming solution.

Implementation:

  • git diff

  • Biologists use the longest common subsequence to find similarities in DNA strands

Last updated

Was this helpful?