Hi iarnav.Let's take it up in discussion here. You might be knowing about the various design strategies such as Divide and Conquer,Greedy and Dynamic Programming. There are certain classes of problems which are classified under these. Out of them, a recurrence relation is used as a solution for those algorithms/problems which belongs to Divide and Conquer Design Strategy. This is the basis behind the use of recurrence relation. For example Merge Sort, Binary Search, Quick Sort. A Divide and conquer strategy is where a problem P is divided into subproblems. Then these sub-solutions are combined to get the original Problem P. A recurrence relation takes the following form: T(n)=

aT(n/b)+D(n)+C(n). Here a is the total no of subproblem. And b is the no of subproblems in a given subproblem. Here D(n) is the time it takes to divide a subproblem and C(n) is the time it takes to combine the solution. Thus Recurrence Relation gives us the time complexity of those classes of problems which belongs to the Divide and Conquer Design strategy.Yeah. :).

Coming up with the methods which are used to solve these recurrence relations are mentioned as under:

1)Substitution Method

2)Master's Theorem

3)Akrabazzi Method

4)Extended Masters Theorem

This covers the fundamental aspect as to why a recurrence relation is used. My advice to u: First take up sample questions for practice sake, Learn how to solve. Then some of those problems which I mentioned derive a recurrence relation for them(Merge Sort, Binary Search, Quick Sort). I hope you're satisfied now. Sir Arjun and Sir Bikram has already mentioned the further sources which u should consult to gain a deeper insight. Yeah. :). Please don't say Thanks. Okays iarnav. :). Still not able to understand then let's take the discussion here itself. Happy Learning!!