Solved

# Difference between recursion and iteration - JavaScript

Posted on 2011-09-11
313 Views
Hi,

Can you please provide me a simple example on:

Difference between recursion and iteration - JavaScript

Thanks
0
Question by:milani_lucie

LVL 40

Assisted Solution

gurvinder372 earned 125 total points
0

LVL 82

Accepted Solution

leakim971 earned 125 total points
Test page (recursion) : http://jsfiddle.net/Mjzkk/
``````function factorial_recursion(n) {
if(n!=1) n * factorial_recursion;
}
``````

test page (iteration) : http://jsfiddle.net/Kvmrc/
``````function factorial_iteration(n) {
a = n;
while(n!=1) {
n = n -1;
a *= n;
}
return a;
}
``````

http://en.wikipedia.org/wiki/Factorial
0

LVL 82

Expert Comment

correction (recursion) :
``````function factorial_recursion(n) {
if(n!=1) n = n * factorial_recursion(n-1);
return n;
}
``````
0

LVL 82

Expert Comment

to be mathematicaly correct (and not just for the example) : 0! = 1
so :

``````function factorial_recursion(n) {
if(n==0) return 1;
if(n!=1) n * factorial_recursion(n-1);
return n;
}
``````
and :
``````function factorial_iteration(n) {
if(n==0) return 1;
a = n;
while(n!=1) {
n = n -1;
a *= n;
}
return a;
}
``````
0

LVL 17

Assisted Solution

sonawanekiran earned 125 total points
Recursion repeatedly invokes the mechanism itself as explained by @leakim971 using factorial number. Both iteration and recursion are based on a control structure. Iteration explicitly uses a repetition structure; recursion achieves repetition through repeated method calls.

Keep in Mind:

Recursion consequently the overhead of method calls. This can be expensive in both processor time and memory space.
0

LVL 9

Expert Comment

0

LVL 9

Assisted Solution

user_n earned 125 total points
Recursion invokes the function itself. If you do not stop the process right it might proceed forever. It takes more space in the stack of the computer (http://en.wikipedia.org/wiki/Call_stack), because of witch it usually takes more time and memory.But in some cases it is the easiest way of finding of programing solution to a problem. Some more info (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/)
0

## Featured Post

### Suggested Solutions

When you need to keep track of a simple list of numbers or strings, the Array object is your most direct tool.  As we saw in my earlier EE Article (http://www.experts-exchange.com/A_3488.html), typical array handling might look like this: (CODE) B…
I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…