### Recursion - Revision Notes

CBSE Class 12 Computer Science (Python)

Recursion

Revision Notes

- Some important points are as follows:
- Recursion refers to a programming technique in which a function calls itself either directly or indirectly. "OR" A function is said to be recursive if it calls itself.

For example:

def A( ):

A( )

Here the Function A () called itself from its own function body, so it is a recursive function, it is the example of direct recursion as the function A() called itself.

another example:

def A():

B()

def B():

C()

def C():

A()

This function is the example of Indirect recursion. - A popular algorithm that uses recursion successfully is binary search algorithm.
- There are two cases in each recursive function, the recursive case and the base case.
- The base case is the case whose solution is pre-known and is used without computation.
- The recursive case is more general case of problem, which is being solved.
- An infinite recursion is when a recursive function calls itself endlessly.
- If there is no base case, or if the base case is never executed, infinite recursion occurs.
- Iteration uses some memory space for each pass contrary to recursion where fresh memory is allocated for each successive call.
- Recursive functions are relatively slower than their iterative counterparts.
- Some commonly used recursive algorithm are factorial, gcd, fibonacci series printing, binary search etc.
- Binary search can work for only sorted arrays whereas linear search can work for both sorted as well as unsorted arrays.