Algorithm Design Techniques Narasimha — Karumanchi
While D&C breaks problems into independent sub-problems, Dynamic Programming is applied when sub-problems overlap. Karumanchi defines DP as an optimization over plain recursion.
Backtracking is a refinement of the brute-force approach. It is used for constraint satisfaction problems. The algorithm incrementally builds candidates to the solution and abandons a candidate ("backtracks") as soon as it determines that the candidate cannot possibly be completed to a valid solution. algorithm design techniques narasimha karumanchi
