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

Recursion

Uploaded by

malikhassan5156
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Recursion

Uploaded by

malikhassan5156
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

Lecture #

16
Programming fundamentals
Previous
Lecture
Default Arguments

Function Overloading

Inline Functions
Lecture
Outline
Recursion

Base Case

Recursion and Stack

Factorial using Recursion

Fibonacci Series using Recursion


Recursi
on
• Recursion is a technique that leads to elegant solutions to problems
that are difficult to program using simple loops.

• To use recursion is to program using recursive functions—functions


that invoke themselves.

• Recursion is a useful programming technique. In some cases, it


enables you to develop a natural, straightforward, simple solution to
an otherwise difficult problem.
Example:
Factorials
• A recursive function is one that invokes itself.
• Base Case
• The recursive algorithm for computing factorial(n) can be simply
described as follows:
Recursive
Call
• A recursive call can result in many more recursive calls, because the
function is dividing a subproblem into new subproblems.
• For a recursive function to terminate, the problem must
eventually be reduced to a stopping case.
• At this point the function returns a result to its caller.
Infinite
Recursion
• Infinite recursion can occur if recursion does not reduce the problem
in a manner that allows it to eventually converge into the base case or
a base case is not specified.
• For example, suppose you mistakenly write the factorial function as
follows:

• The function runs infinitely and causes the stack overflow.


Show the output of the following
programs and identify base cases
and recursive calls.
Case Study: Fibonacci
Numbers

The Fibonacci series begins with 0 and 1, and each subsequent number is the sum of the
preceding two numbers in the series. The series can be defined recursively as follows:
Recursive Algorithm for
Fibonacci Series
• The recursive algorithm for computing fib(index) can be simply
described as follows:
Show the output of the following two
programs:
What is wrong in the following
function?
Next
Lecture

Structures

You might also like