0% found this document useful (0 votes)
70 views

Recursive Function

The document discusses recursion, providing examples of using recursion to calculate factorial and Fibonacci series. It defines recursion as functions that call themselves, with base cases to eventually solve the original problem. Examples show the recursive calls to calculate 5! and find the 20th Fibonacci number. Recursion is compared to iteration, noting repetition through repeated function calls versus loops, and termination through base cases versus loop conditions. Guidelines for recursive functions include having a function call itself, defining the function, including base cases, and proper termination.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Recursive Function

The document discusses recursion, providing examples of using recursion to calculate factorial and Fibonacci series. It defines recursion as functions that call themselves, with base cases to eventually solve the original problem. Examples show the recursive calls to calculate 5! and find the 20th Fibonacci number. Recursion is compared to iteration, noting repetition through repeated function calls versus loops, and termination through base cases versus loop conditions. Guidelines for recursive functions include having a function call itself, defining the function, including base cases, and proper termination.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Recursive Function

Outline
• Recursion
• Examples of recursion
– Finding factorial of a number
– Finding Fibonacci series up to nth term
• Recursion Vs Iteration
Recursion
• Recursive functions
– Functions that call themselves
– Can only solve a base case
– Divide a problem up into
• What it can do
• What it cannot do
– What it cannot do resembles original problem
– The function launches a new copy of itself
(recursion step) to solve what it cannot do
– Eventually base case gets solved
• Gets plugged in, works its way up and
solves whole problem
Recursion example (factorial)
• Factorial of a number in mathematics
– 5! = 5 * 4 * 3 * 2 * 1

• Another method we have studied is

Values returned
– For 5!, we write 5! = 5 * 4! 120
– Then for 4!, 4! = 4 * 3!
24
– Then for 3!, 3! = 3 * 2!
6
– Then for 2!, 2! = 2 * 1!
2
– Then for 1!, 1! = 1 * 0!
1
– And if its comes to 0,
– 0!=1
– Solve base case (1! = 0! = 1)
Recursion example (factorial)
Fin a l va lue = 120
5! 5!
5! = 5 * 24 = 120 is re turn e d
5 * 4! 5 * 4!
4! = 4 * 6 = 24 is re turne d
4 * 3! 4 * 3!
3! = 3 * 2 = 6 is re tu rn e d
3 * 2! 3 * 2!
2! = 2 * 1 = 2 is re turne d
2 * 1! 2 * 1!
1 re turne d
1 1

( a ) Se q u e n c e o f re c ursive c a lls. ( b ) Va lue s re turne d fro m e a c h re c u rsive c a ll.


Recursion example (factorial code)
This function
calculates
factorial of
first 10
numbers
Recursion example (factorial code)
This
function
calculates
factorial of
first 10
numbers
1! = 1
2!
3!
=
=
2
6
output
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
Recursion example (fibonacci)
• What is Fibonacci series: …??
• 0, 1, 1, 2, 3, 5, 8...
– Each number is the sum of the previous two
– Can be solved recursively:
• fib( n ) = fib( n - 1 ) + fib( n – 2 )

– Code for the fibonacci function


long fibonacci( long n )
{
if (n == 0 || n == 1) // base case
return n;
else
return fibonacci( n - 1)+fibonacci( n – 2 );
}
Recursion example (fibonacci)
• Set of recursive calls to fibonacci() function

f( 3 )
 

return f( 2 ) + f( 1 )

return f( 1 ) + f( 0 ) return 1

return 1 return 0
Recursion example (fibonacci code)
This function
calculates
fibonacci
number of
any given
position
Recursion example (fibonacci code)
This function
calculates
fibonacci
number of
any given
position

Enter an integer: 0
Fibonacci( 0 ) = 0
or
Enter an integer: 1 output
Fibonacci( 1 ) = 1
or
Enter an integer: 20
Fibonacci( 20 ) = 6765
Recursion vs. Iteration
• Repetition
– Iteration: explicit loop(for,while)
– Recursion: repeated function calls
• Termination
– Iteration: loop condition fails
– Recursion: base case reached
• Both can have infinite loops
• Balance
– Choice between performance (iteration) and good software
engineering (recursion)
Rules for recursive function
1. In recursion, it is essential to call a function itself
2. Only the user defined function can be involved in the
recursion. Library function cannot be involved in recursion
because their source code cannot be viewed
3. A recursive function can be invoked by itself or by other
function.
4. To stop recursive function, it is necessary to base recursion
on some condition, and proper termination statement such
as exit() or return
5. The user defined function main() can be invoked recursively.

You might also like