What is it ?
Recursion in computer science is a method where the solution to a problem depends on solutions to smaller instances of the same problem (as opposed to iteration).
b4 = 4 * b3 = 4 * (3 * b2) = 4 * (3 * (2 * b1)) = 4 * (3 * (2 * (1 * b0))) = 4 * (3 * (2 * (1 * 1))) = 4 * (3 * (2 * 1)) = 4 * (3 * 2) = 4 * 6 = 24
Why recursion?
Where it's useful?
Let's see what notion do you have?
void recursiveFunction(int num) { printf("%d\n", num); if (num < 4) recursiveFunction(num + 1); }
void recursiveFunction(int num) { if (num < 4) recursiveFunction(num + 1); printf("%d\n", num); }
Iterative approach involves four steps, initialization , condition, execution and updation.
In recursive function, only base condition (terminate condition) is specified.