Recursive algorithm is a way of tackling a difficult problem by breaking it down into smaller and smaller subproblems until the problem is small enough to be solved quickly. It usually involves a function that calls itself (property of recursive functions).
The three laws which must be followed by all recursive algorithms are as follows :
* There should be a base case.
* It is necessary for a recursive algorithm to call itself.
* The state of a recursive algorithm must be changed in order for it to return to the base case.