The recursion tree can demonstrate how useful recursion can be in solving your problem, and it can also help identify the worst / best scenarios. For example, if the binary search recursion tree always takes the right path, you are probably in the worst case (because your program is not forked, why even use the tree to represent it?). Drawing a tree of the recursive work of your algorithm on multiple inputs may also give you thoughts on how to change your recursive program to iterative, which may or may not save a lot of memory / time.
Alternatively, this can make your recursive program look really good, because you may find that it fills almost all the leaves before moving on to the next layer and makes you work very fast on the tree. A good example of this is a black binary tree with red-black, but it's a little harder to display in a recursive way than merge sort.
source share