
42 Design and Analysis of Algorithms
electronic hardware thus making it behave as
expected.
7. Divide-and-conquer is an important algo-
rithm design paradigm. It works by recur-
sively breaking down a problem into two or
more sub-problems of the same (or related)
type, until these become simple enough to be
solved directly. The solutions to the sub-prob-
lems are then combined to give a solution to
the original problem.
8. Dynamic programming is a method for
reducing the runtime of algorithms exhibiting
the properties of overlapping subproblems
and optimal substructure. Mathematician
Richard Bellman invented dynamic program-
ming in 1953.
9. ...