Skip to content
Abstract Data Structures and Algorithms · Semester 1

Dynamic Programming: Memoization and Tabulation

Students will learn basic search techniques to find specific information within a list or collection of data.

Key Questions

  1. Identify the two structural properties—overlapping subproblems and optimal substructure—that make a problem amenable to dynamic programming, and construct a counterexample where only one property holds.
  2. Design a bottom-up tabulation solution for the 0/1 knapsack problem, derive its time and space complexity, and explain how space can be reduced from O(nW) to O(W).
  3. Compare a naive recursive solution, a top-down memoized solution, and a bottom-up tabulation solution for the longest common subsequence problem in terms of correctness, time complexity, and practical performance.

MOE Syllabus Outcomes

MOE: Algorithms - Middle School
Level: JC 2
Subject: Computing
Unit: Abstract Data Structures and Algorithms
Period: Semester 1

Ready to teach this topic?

Generate a complete, classroom-ready active learning mission in seconds.

Browse curriculum by country

AmericasUSCAMXCLCOBR
Asia & PacificINSGAU