Skip to content
Dynamic Programming: Memoization and Tabulation
Computing · JC 2 · 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.

MOE Syllabus OutcomesMOE: Algorithms - Middle School

About This Topic

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.

Active Learning Ideas

See all activities

Activities & Teaching Strategies

See all activities

Edited by Adriana Perusin, Editor-in-Chief, Flip Education
Synthesized by Flip Education from Lyman's Think-Pair-Share collaborative-discussion routine (1981)