Problem Detail: I’m sure this is not a challenge for you but it remains an open question for me: Is it wise to prefer a recursive algorithm over its for-loop counterpart? E.g. take the evaluation of the natural logarithm of a number $N + 1$ $$ ln (N+1) = ln N + Delta N, $$ where $$ Delta N = 2 sum_{k=0}^{infty} frac{1}{(2k+1)(2N+1)^{2k+1}}. $$ While one could implement it as a recursive function with an appropriate terminating condition (e.g. relative error tolerance), you could as well put it in a for-loop and break when desired.
Asked By : Max Herrmann
Answered By : Ankur
I don’t think recursive OR for-loop are related to the abstract idea of an algorithm, rather both are a specific strategy to implement an algorithm on a computing system. So your question is basically about which implementation strategy is better for algorithm – recursive or loop based. The answer (assuming you want to implement the algorithm on general purpose of the shelf CPU) would be for-loop perform better as the recursive call would include the overhead of call stack which will grow for each recursive call.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/46999