Introduction
Recursion is one of most powerful methods of solution available to computer scientists.
We will study application of recursion for computing, counting and searching.
Although it is very intuitive in cases, it is not efficient for implementation. To bridge this gap most compilers today convert recursion into iteration in one of the optimization phases.
We will also discuss the mechanics of recursion.