Question regarding fibonacci implementation.

Aug 15, 2004
158
0
0
"Compare the runtime of recurrsive vs. iterative fibonacci."

Which has a faster runtime? Which takes up less memory? I'm stumped. Any help would be greatly appreciated!
 

itachi

Senior member
Aug 17, 2004
390
0
0
iterative..
while (k != N) {
S += i;
k = i;
i += k;
}

just for reference.. a tail-recursive version.. which can easily be converted to iterative without much thought.
int fib (int N, int pre = 1, int cur = 1) {
if (N < 2) return cur;
else return (fib (N-1, cur, cur+pre);
}
tree-recursive..
int fib (int N) {
if (N < 2) return 1;
else return (fib (N - 1) + fib (N - 2));
}

the second one, tree-recursive, takes longer to compute for larger values of N and uses up more of the program stack. as you follow the program.. what'll happen is, fib (N - 1) will keep on getting called until the terminating condition, call that time 0. since N at time 0 is now defined, all the other N's can be computed.. the program unwinds the recursion, each step the second portion of the statement gets called, fib (N-2).. which goes through the same thing as fib (N-1). for large values of N, it becomes extremely redundant. what you'll get is a tree-like structure where there are always at least 2 branches identical to one another for N greater than 2.
with the first one, no computations are necessary once the terminating condition is met (N < 2).. once the answer is computed, the program steps out until it gets to the top.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Since this is a programming forum, I suggest you write a program to try out the two for you. Start with the recursive version and try for, say, the 500th number. Then, with all the free time you'll have, you can study for your test like you're supposed to.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |