Ch 20

Ace your homework & exams now with Quizwiz!

The QuickSort algorithm is used to sort a. lists stored in arrays or linear linked lists b. tree data structures c. randomly-ordered files d. All of these e. None of these

A

When function A calls function B which, in turn, calls function A, this is known as a. direct recursion b. indirect recursion c. function swapping d. perfect recursion e. None of these

B

The QuickSort algorithm was developed in 1960 by a. Bjarne Stroustrup b. Tony Gaddis c. C.A.R. Hoare d. C.M. Turner e. None of these

C

The __________ of recursion is the number of times a recursive function calls itself. a. level b. breadth c. type d. depth e. None of these

D

A recursive function cannot call another function.

F

The QuickSort algorithm works on the basis of a. three sublists b. two sublists and a pivot c. two pivots and a sublist d. three pivots e. None of these

B

Select all that apply. Which of the following problems can be solved using recursion? a. computing factorials b. finding the greatest common divisor of two numbers c. doing a Binary Search d. multiplying two numbers e. traversing a linked list

A,B,C,E

The following code is an example of a __________ recursive algorithm. int myRecursion(int array[], int first, int last, int val) { int num; if (first > last) return -1; num = (first + last)/2; if (array[num] == val) return num; if (array[num] < val) return myRecursion(array, num + 1, last, val); else return myRecursion(array, first, num - 1, val); } a. Towers of Hanoi b. QuickSort c. binary search d. doubly linked list e. None of these

C

The programmer must ensure that a recursive function does not become a. a static function b. a virtual function c. an endless loop d. a dynamic function e. None of these

C

A __________ function is one that calls itself. a. dynamic b. static c. validation d. recursive e. None of these

D

A recursive function is designed to terminate when it reaches its a. return statement b. closing curly brace c. last parameter d. base case e. None of these

D

How many times will the following function call itself if 5 is passed as the argument? void showMessage(int n) { if (n > 0) { cout << "Good day!" << endl; showMessage(n + 1); } } a. 1 b. 4 c. 5 d. An infinite number of times

D

A problem can be solved with recursion if it can be broken down into successive smaller problems that are the same as the overall problem.

T

Any algorithm that can be coded with recursion can also be coded with an iterative structure.

T

The __________ algorithm uses recursion to sort a list. a. shell sort b. QuickSort c. binary sort d. red/black sort e. None of these

B

How many times will the following function call itself if 5 is passed as the argument? void showMessage(int n) { if (n > 0) { cout << "Good day!" << endl; showMessage(n - 1); } } a. 1 b. 4 c. 5 d. An infinite number of times

C

If a recursive algorithm does not contain a base case, it a. returns 0 and stops b. returns false and stops c. uses up all available stack memory, causing the program to crash d. reaches the recursive case and stops e. None of these

C

The recursive factorial function calculates the factorial of its parameter. Its base case is when the parameter is a. returned b. received c. one d. zero e. None of these

D

All mathematical problems are designed to be more efficient using recursive solutions.

F

In a recursive solution, the base case is always the first case to be called.

F

Indirect recursion means that a function calls itself n number of times and then processing of the function starts from the first call.

F

When recursion is used on a linked list, it will always display the contents of the list in reverse order.

F

Like a loop, a recursive function must have some method to control the number of times it repeats.

T

Recursive algorithms are less efficient than iterative algorithms.

T

The speed and amount of memory available to modern computers diminishes the performance impact of recursion so much that inefficiency is no longer a strong argument against it.

T

To solve a problem recursively, you must identify at least one case in which the problem can be solved without recursion.

T

When a recursive function directly calls itself, this is known as direct recursion.

T


Related study sets

ILTS Elementary Education (305-Content Test)

View Set

Musculoskeletal Impairments: amputations, contractures, hip fxs/replacement, OA/RA, fibromyalgia, osteoporosis, oncology

View Set

Ch. 10 Managing Employee Motivation & Performance

View Set

COP1220 Quiz 2, COP1220, COP1220 Final

View Set

SOC 101- Chapter 7- Deviance, Crime, & Social Control

View Set