### 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.