chap 20 Flashcards

(22 cards)

1
Q

A ________ function is one that calls itself
A) dynamic
B) static
C) recursive
D) data validation
E) None of these

A

Answer: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Recursion can be used to:
A) compute factorials
B) find GCD’s
C) traverse linked lists
D) All of these
E) None of these

A

Answer: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The ________ algorithm uses recursion to efficiently sort a list.
A) shell sort
B) quicksort
C) binary sort
D) red/black sort
E) None of these

A

Answer: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

f a recursive function 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

A

Answer: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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

A

Answer: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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

A

Answer: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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

A

Answer: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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

A

Answer: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A recursive function is designed to terminate when it reaches its ________.
A) return statement
B) base case
C) closing curly brace
D) last parameter
E) None of these

A

Answer: B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

The recursive factorial function calculates the factorial of its parameter. Its base case is when the
parameter is ________.
A) returned
B) received
C) amortized
D) zero
E) None of these

A

Answer: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

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

A

Answer: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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

Answer: A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ow many times will the following function call itself, if the value 5 is passed as the argument?
void showMessage(int n)
{
if (n > 0)
{
cout &laquo_space;“Good day!” &laquo_space;endl;
showMessage(n - 1);
}
}
A) 1
B) 4
C) 5
D) An infinite number of times

A

Answer: C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How many times will the following function call itself, if the value 5 is passed as the argument?
void showMessage(int n)
{
if (n > 0)
{
cout &laquo_space;“Good day!” &laquo_space;endl;
showMessage(n + 1);
}
}
A) 1
B) 4
C) 5
D) An infinite number of times

A

Answer: D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

1) True/False: Like a loop, a recursive function must have some method to control the number of times it
repeats.

A

Answer: TRUE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

True/False: When a recursive function directly calls itself, this is known as direct recursion.

16
Q

True/False: Indirect recursion means that a function calls itself
n number of times, then processing of the
function starts from the first call.

A

Answer: FALSE

17
Q

True/False: A recursive function cannot call another function.

A

Answer: FALSE

18
Q

True/False: Recursive algorithms are less efficient than iterative algorithms.

19
Q

True/False: Any algorithm that can be coded with recursion can also be coded with an iterative structure.

20
Q

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

A

Answer: FALSE

21
Q

True/False: 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.