Skip to content

Instantly share code, notes, and snippets.

@shinout
Created October 5, 2011 02:11
Show Gist options
  • Save shinout/1263457 to your computer and use it in GitHub Desktop.
Save shinout/1263457 to your computer and use it in GitHub Desktop.
recursive, non-recursive fibonacci
function fibo(n) {
if (n < 2) return 1;
var prev1 = 1, prev2 = 1, i = 2, current = 0;
while (i <= n) {
current = prev1 + prev2;
prev2 = prev1;
prev1 = current;
i++;
}
return current;
}
function recursiveFibo(n) {
if (n < 2) return 1;
return recursiveFibo(n -1) + recursiveFibo(n-2);
}
var i = 0;
console.time("fibo");
for (i=1; i<=40; i++) {
fibo(i);
}
console.timeEnd("fibo");
console.time("recursiveFibo");
for (i=1; i<=40; i++) {
recursiveFibo(i);
}
console.timeEnd("recursiveFibo");
@shinout
Copy link
Author

shinout commented Oct 5, 2011

fibo: 0ms
recursiveFibo: 7976ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment