Recursion and Efficiency
Recursion is a powerful problem-solving technique that often produces very clean solutions to many complex problems.
As with most powerful tools, if it is not used properly, it may lead to inefficiency.
Overhead associated with function calls and the inherent inefficiency of some recursive algorithms contribute to inefficiency in some recursive solutions.
Recursion is not always appropriate, particularly when a clear, efficient iterative solution exists.
True value of recursion is as a way to solve problems for which there is no simple non-recursive solutions.