Dynamic Programming Concepts Flashcards

1
Q

Optimal Substructure

A

When the optimal solution to a problem consists of optimal solutions to subproblems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Overlapping Subproblems

A

When breaking a problem into subproblems produces multiple instances of the same subproblem. i.e. Subproblems share subproblems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Memoization

A

Storing optimal solutions to subproblems in order to solve dependant problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Top-Down Solution

A

Recurses down to subproblems with trivial solutions, then memoizes results to solve subproblems all the way up the recursion stack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Bottom-Up Solution

A

Builds memoization table starting from basic trivial solutions until the desired solution is reached.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly