Algorithm Atlas

Preparing your learning space

Loading your lessons and saved progress.

Learn Dynamic Programming with visual DSA lessons

Learn Dynamic Programming with 7 DSA patterns and 43 visual lessons. Follow step-by-step animations and synced C#, Python, and Java code.

DP saves smaller answers so work is not repeated.

1D / Linear DP

Save one answer for every position in a sequence.

2D / Grid DP

Store one answer for every row-and-column position.

DP on Strings

Compare smaller prefixes before solving larger prefixes.

DP on Trees / DAGs

Store answers on nodes after their children are solved.

Knapsack / Subset Sum

Choose items while remembering possible totals.

DP on Stocks

Remember the best profit in each holding state.