Using induction to design algorithms
Udi Manber · Communications of the ACM · 1988
An analogy between proving mathematical theorems and designing computer algorithms provides an elegant methodology for designing algorithms, explaining their behavior, and understanding their key ideas.