PHASE 10

🧮 Greedy & Dynamic Programming

Greedy algorithms grab the best option at each step; dynamic programming remembers solved sub-problems so nothing is computed twice. Learn when each works and solve the classics.

⏱️ ~2.5 hours of lessons 📚 3 lessons ✏️ 8 exercises Hard
▶ Start this phase

🎯 In this phase you will…

  • Recognise when greedy works
  • Turn recursion into memoised DP
  • Build bottom-up DP tables
  • Solve classic DP problems

📺 Lessons in this playlist

📝 Phase test

Concept questions, pseudocode writing, tracing and debugging — check you’re ready for the next phase.

💡 Concept check
Which two ingredients make a problem a good fit for dynamic programming?