CEN 235 2. Recursion
CEN 235 2. Recursion
2. Recursion
▪ Recursion
▪ Factorial
▪ Fibonacci Series
▪ Warning on Recursion
Recursion – Definition
▪ Base case: the simplest version of the problem that is not further
reducible.
▪ The function actually knows how to solve this version of the problem.
Recursion – Concept Visualised
Factorial
Termination
▪ N! = N×(N-1)! for N≥1 with 0! = 1 Condition
▪ N! = N×(N-1)×(N-2)!
▪ N! = N×(N-1)×(N-2) … 0!
Factorial – C Code
int factorial(int N)
{
Termination
if (N==0) return 1; Condition
return N*factorial(N-1);
}
Termination
▪ FN = FN-1 + FN-2 for N≥2 with F0=F1=1 Condition
int fib(int N)
{
Termination
if (N<=1) return 1; Condition
return fib(N-1) + fib(N-2);
}
Fibonacci Series – Interesting Properties