Dynamic Programming

DP is a well-known and very common approach to solving optimization problems. What is it? What are some examples?

What Is It?

First, some things to know:

A Brief History

Top-Down vs. Bottom-Up Approaches

Examples

Interval scheduling

Longest common subsequence

Coin changing

Levenshtein distance

Matrix-chain multiplication

Integer 0/1 knapsack

Integer 0/1 Knapsack using Dynamic Programming

Shortest path

Bellman-Ford Algorithm

Word wrap

Word Wrap Dynamic Programming

Traveling salesperson

TSP Dynamic Programming