--- comments: true icon: material/table-pivot --- # Chapter 14.   Dynamic Programming ![Dynamic programming](../assets/covers/chapter_dynamic_programming.jpg){ class="cover-image" } !!! abstract Streams flow into rivers, rivers flow into the sea. Dynamic programming combines solutions to small problems into the answer to a large problem, leading us step by step to the other shore of problem-solving. ## Chapter contents - [14.1   Introduction to Dynamic Programming](intro_to_dynamic_programming.md) - [14.2   Characteristics of Dynamic Programming Problems](dp_problem_features.md) - [14.3   Dynamic Programming Problem-Solving Approach](dp_solution_pipeline.md) - [14.4   0-1 Knapsack Problem](knapsack_problem.md) - [14.5   Unbounded Knapsack Problem](unbounded_knapsack_problem.md) - [14.6   Edit Distance Problem](edit_distance_problem.md) - [14.7   Summary](summary.md)