Recursion
Recursion is one of the most powerful tools in the programming language, but is one of the most threatening topics.
Recursion is defined as defining anything in terms of itself. In recursion a function calls itself.
Types of recursion
Recursion is of two types depending on whether a function calls itself from within itself, or whether two functions call one another mutually. The former is called direct recursion and later is called the indirect recursion.
Direct recursion
int abc()
{
statements;
statements;
abc();
}
Indirect recursion
int abc()
{
statements;
statements;
xyz();
}
int xyz()
{
statements;
statements;
abc();
}
S.no |
Iteration |
Recursion |
1. |
It is a process of executing a statement or a set of statement repeatedly, until some specified condition is true. |
Recursion is the technique of defining anything in terms of itself. |
2. |
Iteration involves four(4) clear cut steps initialization, condition, execution and updation. |
There must be an exclusive if statement inside the recursive function, specifying stopping condition. |
3. |
Any recursive problem can be solved iteratively. |
Not all problems have recursive solution. |
4. |
Iterative counterpart of a problem is more efficient in terms of memory utilization and execution speed. |
Recursion is generally a worse option to go for simple problem, or problems not recursive in nature. |