Skip to content
Algorithm Design Paradigms and Amortised Analysis
Computing · JC 2 · Abstract Data Structures and Algorithms · Semester 1

Algorithm Design Paradigms and Amortised Analysis

Students will understand abstraction as simplifying complex ideas by focusing on essential details and hiding unnecessary ones.

MOE Syllabus OutcomesMOE: Computational Thinking - Middle School

About This Topic

Students will understand abstraction as simplifying complex ideas by focusing on essential details and hiding unnecessary ones.

Key Questions

  1. Compare divide-and-conquer, greedy, and dynamic programming paradigms, providing a canonical problem for each and explaining why the other two paradigms fail or are suboptimal for that problem.
  2. Apply amortised analysis (aggregate, accounting, or potential method) to a dynamic array to explain why the amortised cost of append is O(1) despite occasional O(n) resizing operations.
  3. Evaluate whether a greedy algorithm yields an optimal solution for the activity-selection problem and the 0/1 knapsack problem, and explain the structural difference between these two problems that accounts for the different outcomes.

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)