Briefly explain how the following recursive function could


Overview: For problem 1(a) of this assignment, you will need a C++ compiler. In order to receive credit, your program must compile and run; and you must provide the actual source code file so that I can compile and run your program (e.g. the file you modified ending in .cpp). Examples on how to import existing files into your compiler are provided in the file called Importing Source Code.pdf. The remaining problems for the assignment must be written up within a single Microsoft Word document. You must include your name and course number within all files that you submit, including source code files as a comment at the top of each file that you create or
modify.

1. Recursion. Read the assigned chapter and notes for Week 1 located in the Learning Activities area in Blackboard. Then provide solutions for the following:

(a) Download the f.cpp file, then using the definition below, implement the details of a recursive function called f(n). This function can be directly translated into C/C++ from the following mathematical definition:

(1) 2 1 0
(1) 2 1 0
0 0
( )
f n n n
f n n n
n
f n

The function must be implemented based on the mathematical definition provided above.

Note: For this program, the function must use recursion. You only need to modify the provided file by adding the necessary code to implement the TODO areas as noted in the comments. Everything else in the program should remain the same.

Output: The output for this program once the function is implemented will be as follows:

f(-44) is 1936
f(-20) is 400
f(-1) is 1
f(0) is 0
f(1) is 1
f(13) is 169
f(20) is 400
f(50) is 2500
f(44) is 1936

** Press any key to continue **

(b) Briefly explain how the following recursive function could result in an infinite loop and what you could do to correct this:

(c) Perform an Internet search and provide a brief description (at least a paragraph with four to five sentences) of an example of a practical use for recursion. For example, the practical use you mention should be something other than simple function implementations such as factorial, the power of a number, Fibonacci, etc. The description should be in your own words. Include the reference to your source or sources in APA format at the end of your description.

2. Complexity Analysis. Begin by reading the assigned chapter located in the Learning Activities area in Blackboard. Then answer the following questions:

(a) Briefly explain the difference between big-Ω (Omega) and big-O notation. Also provide the mathematical definitions of each.

(b) What is the asymptotic complexity (or big-O) of the following code block? Briefly explain why.

Note: No programming is necessary for this problem. Just tell me what the big-O of the function, and provide a couple of sentences explaining how you arrived at the solution.

for (int i=0; i < n; i++)
{
for (int j=0; j < n; j++)
{
a[i][j]=0;
for (int k=0; k < n; k++)
{
a[i][j] += b[i][k] * c[k][j];
}
}
}

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Briefly explain how the following recursive function could
Reference No:- TGS01216761

Now Priced at $20 (50% Discount)

Recommended (99%)

Rated (4.3/5)