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; }
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
Related questions
Question
Need help completing the rest of this code
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images
Knowledge Booster
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.Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning