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
0 comments:
Post a Comment
Let us know your responses and feedback