Dynamic Programming and Algorithms Review

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/9

flashcard set

Earn XP

Description and Tags

A collection of vocabulary flashcards based on core concepts in dynamic programming and related algorithms.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

10 Terms

1
New cards

Dynamic Programming

A method used for solving complex problems by breaking them down into simpler subproblems and storing the results.

2
New cards

Cache (Memoization)

An array used to store the results of subproblems to avoid redundant computations.

3
New cards

Overlapping Sub-Problems

A characteristic of a problem where the solution to a subproblem is needed multiple times.

4
New cards

Optimal Sub-Structure

A property where the optimal solution of a problem can be constructed from optimal solutions of its subproblems.

5
New cards

1D Dynamic Programming

Refers to dynamic programming solutions that use a single loop for iteration.

6
New cards

Fibonacci Sequence

A sequence defined by F(n) = F(n-1) + F(n-2), with F(0) = 0 and F(1) = 1.

7
New cards

Time Complexity

A computational complexity that describes the amount of time an algorithm takes to complete as a function of the length of the input.

8
New cards

Greedy Algorithm

An algorithm that builds up a solution piece by piece, always choosing the next piece that offers the most immediate benefit.

9
New cards

Knapsack Problem

An optimization problem that involves selecting a set of items with given weights and values to maximize total value without exceeding weight capacity.

10
New cards

Universal Change Making Problem

A problem that generalizes the coin change problem with arbitrary coin denominations.