Back to the 2023 paper

Module 2: Fundamental Algorithmic Strategies

20232m

In which algorithmic strategy are problems systematically divided into smaller subproblems until the solution to the original problem is found?
(i) Brute-force
(ii) Greedy
(iii) Dynamic programming
(iv) Backtracking

Worked SolutionAI Assisted

Answer: (iv) Backtracking (with note — (iii) Dynamic Programming also divides into subproblems)

Explanation:

  • Backtracking systematically builds a state-space tree, divides the problem into smaller subproblems (choices at each level), explores depth-first, and backtracks on failure until a solution (or all solutions) is found. Example: N-Queens, Hamiltonian cycle, SAT.
  • Dynamic Programming also divides into subproblems but they are overlapping with optimal substructure and results are memoized; it solves all subproblems bottom-up rather than “divide until solution found” via trial.
  • Greedy makes one local choice per step, no systematic division.
  • Brute-force enumerates all candidates without intelligent division.

Exam phrasing “systematically divided into smaller subproblems until the solution ... is found” matches the textbook definition of Backtracking (state-space search). If the exam expects the “divide into overlapping subproblems + optimal substructure” definition, answer (iii) Dynamic Programming would be marked correct; the core idea of division applies to both.

Most precise for wording as given: (iv) Backtracking — alternative acceptable: (iii) Dynamic Programming.

Similar questions

Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.