2. Code a top-down recursive solution for the classic Fibonacci Sequence (starting from 0) using dynamic programming with heap memory for storage. fibonacci top-down solution (memoization) 0(n) time complexity Recursive Function step 1: if n < 2 return the data at position n step 2: else, if a solution for n has not been stored in a[n] recurse fibo(n-1) + fibo (n-2) and store the answer into a[n] step 3: return the data at position n in the array */ int fibonacci(int n, long long *a){ if(n == 0){ return 0; } if(n == 1){ return 1; } else(n=!-1) return fibonacci(n-1) + fibonacci(n-2); } int main (){ // step 1: create a dynamic array of 50 integers. // step 2: populate the first two indicies of the array with 0 and 1 // step 3: populate the rest of the array with the value -1 // step 4: call the fibonacci sequence for various values of n int *a = new int[50]{0, 1}; cout <« endl; cout << "fib(0): " << fibonacci(0) < endl; cout << "fib(6): " << fibonacci(6) << endl; " < fibonacci(8) << endl; <« fibonacci(15) << endl; cout << "fib(20): " << fibonacci(20) << endl; cout << "fib(37): " << fibonacci(37) << endl; cout << "fib(8): cout << "fib(15): cout <« endl; delete [] a; return 0; }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 20SA
icon
Related questions
Question

Need help completing the rest of this code

 

 

2. Code a top-down recursive solution for the classic Fibonacci Sequence
(starting from 0) using dynamic programming with heap memory for storage.
Transcribed Image Text:2. Code a top-down recursive solution for the classic Fibonacci Sequence (starting from 0) using dynamic programming with heap memory for storage.
fibonacci top-down solution (memoization)
0(n) time complexity
Recursive Function
step 1: if n < 2 return the data at position n
step 2: else, if a solution for n has not been stored in a[n]
recurse fibo(n-1) + fibo (n-2) and store the answer into a[n]
step 3: return the data at position n in the array
*/
int fibonacci(int n, long long *a){
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
else(n=!-1)
return fibonacci(n-1) + fibonacci(n-2);
}
int main (){
// step 1: create a dynamic array of 50 integers.
// step 2: populate the first two indicies of the array with 0 and 1
// step 3: populate the rest of the array with the value -1
// step 4: call the fibonacci sequence for various values of n
int *a = new int[50]{0, 1};
cout <« endl;
cout << "fib(0): " << fibonacci(0) < endl;
cout << "fib(6): " << fibonacci(6) << endl;
" < fibonacci(8) << endl;
<« fibonacci(15) << endl;
cout << "fib(20): " << fibonacci(20) << endl;
cout << "fib(37): " << fibonacci(37) << endl;
cout << "fib(8):
cout << "fib(15):
cout <« endl;
delete [] a;
return 0;
}
Transcribed Image Text:fibonacci top-down solution (memoization) 0(n) time complexity Recursive Function step 1: if n < 2 return the data at position n step 2: else, if a solution for n has not been stored in a[n] recurse fibo(n-1) + fibo (n-2) and store the answer into a[n] step 3: return the data at position n in the array */ int fibonacci(int n, long long *a){ if(n == 0){ return 0; } if(n == 1){ return 1; } else(n=!-1) return fibonacci(n-1) + fibonacci(n-2); } int main (){ // step 1: create a dynamic array of 50 integers. // step 2: populate the first two indicies of the array with 0 and 1 // step 3: populate the rest of the array with the value -1 // step 4: call the fibonacci sequence for various values of n int *a = new int[50]{0, 1}; cout <« endl; cout << "fib(0): " << fibonacci(0) < endl; cout << "fib(6): " << fibonacci(6) << endl; " < fibonacci(8) << endl; <« fibonacci(15) << endl; cout << "fib(20): " << fibonacci(20) << endl; cout << "fib(37): " << fibonacci(37) << endl; cout << "fib(8): cout << "fib(15): cout <« endl; delete [] a; return 0; }
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Program on Numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning