Professional Documents
Culture Documents
Lecture # 09
Friday, October 09, 2015
FALL 2015
FAST – NUCES, Chiniot-Faisalabad Campus
Introduction to Recursion
compute()
int main ()
{
recurse (); //Sets off the recursion
}
8
2 2 2
square()
main() main() main()
count(2)
count(1) count(1)
Recursion Example #2
Computing Factorials
4! = 4 * 3 * 2 * 1 = 24 For example:
5! = 5 * 4!
5! = 5 * 4 * 3 * 2 * 1 = 120 (which translates to 5! = 5 * 24 = 120)
fact(1)
1
fact(2) fact(2) fact(2)
2
fact(3) fact(3) fact(3) fact(3) fact(3)
6
main() main() main() main() main() main()
recursiveFactorial (4 )
recursiveFactorial (3 )
recursiveFactorial (2 )
recursiveFactorial (1 )
call return 1
CS319 - FALL 2015
recursiveFactorial (0 )
30 Example: The Fibonacci Series
Fibonacci series
Each number in the series is sum of two previous
numbers
e.g., 0, 1, 1, 2, 3, 5, 8, 13, 21…
fibonacci(0) = 0
fibonacci(1) = 1
fibonacci(n) = fibonacci(n - 1) + fibonacci( n – 2 )
Sorting
General heuristic
problem-solving
Tree traversals