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; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education