# Expert Answers

Which of these data structures allow duplicate values? Choose all that apply.

Question 1 options:

Queue

Set

Priority queue

List

Question 2 (1 point)

Which of these data structures is most similar to a dictionary, in which more information about an entity is retrieved based on its key?

Question 2 options:

Stack

Set

Priority queue

Map

Question 3 (1 point)

If you add several objects to a HashSet and it appears that there are multiple copies of the same item, what have you most likely forgotten to do?

Question 3 options:

override toString()

declare a class field as the key

override equals() and hashcode()

implement Serializable

Question 4 (1 point)

In order to use a TreeMap, which of the following must be true?

Question 4 options:

the keys must be a class that implements Comparable or you must pass the TreeMap constructor a Comparator for the key objects

the values must be a class that implements Comparable or you must pass the TreeMap constructor a Comparator for the value objects

the keys must be numeric

all of these

Question 5 (1 point)

Which of these is approximately the largest value of n that is feasible for an exponential algorithm on modern computers?

Question 5 options:

n=3

n= 30

n=300

n=3000

Question 6 (1 point)

What is the time complexity of this method?

public static intnumberOfLargest(int[] data)

{

int max = Integer.MIN_VALUE;

int count = 0;

for (int d: data)

{ if (d max) { max = d; } }

for (int d: data) { if (d == max) { count++; } }return count;}

Question 6 options:

constant

quadratic

logarithmic

linear

Question 7 (1 point)

What is the time complexity of this method? public static void printMultiplicationSquare(int n) { for (inti=1; i<= n; i++) { for (int j=1; j<=n; j++) { System.out.print(i*j + "\t"); } System.out.println("\n"); }}

Question 7 options:

constant

quadratic

logarithmic

linear

Question 8 (1 point)

You need to choose a sorting algorithm that is as fast as possible, and memory space is in short supply. Which of these is the best choice?

Question 8 options:

bubble sort

merge sort

heap sort

they are all equivalent

Question 9 (1 point)

Which of these sorting algorithms only works on integers? Choose all that apply.

Question 9 options:

quick sort

bucket sort

heap sort

radix sort

Question 10 (1 point)

What does this array look like after the first pass of bubble sort? Assume the values are being sorted into ascending (smallest-to-largest) order.

15, 27, 3, 9, 17, 46, 14, 22, 8

Question 10 options:

15, 27, 3, 9, 17, 14, 22, 8, 46

15, 3, 9, 17, 27, 14, 22, 8, 46

3, 8, 9, 14, 15, 17, 22, 27, 46

15, 27, 3, 9, 17, 8, 14, 22, 46

Question 11 (1 point)

Which of these are characteristics of a heap? Choose all that apply. (Be careful not to confuse heaps with binary search trees.)

each node has at most two children

every node is greater than both of its children

every node is larger than its left child and smaller than its right child

the largest value is in the bottom-right node

Question 12 (1 point)

You need to write a program that frequently adds and removes items at the beginning of a list. Is it better to use an ArrayList or a LinkedList?

ArrayList

LinkedList

the choice doesn't matter in this case

Question 13 (1 point)

You need to write a program that frequently retrieves items from specific indices in a list. Is it better to use an ArrayList or a LinkedList?

Question 13 options:

ArrayList

LinkedList

the choice doesn't matter in this case

Question 14 (1 point)

You need to write a program that frequently iterates through all the items in a list. Is it better to use an ArrayList or a LinkedList?

ArrayList

LinkedList

the choice doesn't matter in this case

Question 15 (1 point)

If an ArrayList has reached its capacity and you try to add another item, there is a performance hit while a new, larger list is created and the values from the current list are copied over to it. How can this delay be avoided?

add all the items at once

set the initial capacity of the list to an estimate of the number of items it will need to hold

multi-thread your application

add items to the beginning rather than the end of the list

Question 16 (1 point)

What is the third value in the breadth-first traversal of this binary search tree?

2

7

14

23

Question 17 (1 point)

What is the third value in the inorder traversal of this binary search tree?

12

14

10

23

Question 18 (1 point)

What is the third value in the preorder traversal of this binary search tree?

12

14

2

16

Question 19 (1 point)

What is the third value in the postorder traversal of this binary search tree?

Question 19 options:

23

46

12

16

Question 20 (1 point)

Question 20 options:

LinkedHashSet

HashSet

TreeSet

1. Very efficient; items are stored unordered

2. Items are stored in the order they are added

3. Items are stored in their 'natural' ordering

Question 21 (1 point)

Match the following complexity terms with their Big-O notation.

Constant

logarithmic

cubic

exponential

linear

quadratic

6. O(2n)

Question 22 (1 point)

Put the following time complexities in order from smallest to largest.

cubic

constant

linear

quadratic

exponential

logarithmic

Question 1 options:

Queue

Set

Priority queue

List

Question 2 (1 point)

Which of these data structures is most similar to a dictionary, in which more information about an entity is retrieved based on its key?

Question 2 options:

Stack

Set

Priority queue

Map

Question 3 (1 point)

If you add several objects to a HashSet and it appears that there are multiple copies of the same item, what have you most likely forgotten to do?

Question 3 options:

override toString()

declare a class field as the key

override equals() and hashcode()

implement Serializable

Question 4 (1 point)

In order to use a TreeMap, which of the following must be true?

Question 4 options:

the keys must be a class that implements Comparable or you must pass the TreeMap constructor a Comparator for the key objects

the values must be a class that implements Comparable or you must pass the TreeMap constructor a Comparator for the value objects

the keys must be numeric

all of these

Question 5 (1 point)

Which of these is approximately the largest value of n that is feasible for an exponential algorithm on modern computers?

Question 5 options:

n=3

n= 30

n=300

n=3000

Question 6 (1 point)

What is the time complexity of this method?

public static intnumberOfLargest(int[] data)

{

int max = Integer.MIN_VALUE;

int count = 0;

for (int d: data)

{ if (d max) { max = d; } }

for (int d: data) { if (d == max) { count++; } }return count;}

Question 6 options:

constant

quadratic

logarithmic

linear

Question 7 (1 point)

What is the time complexity of this method? public static void printMultiplicationSquare(int n) { for (inti=1; i<= n; i++) { for (int j=1; j<=n; j++) { System.out.print(i*j + "\t"); } System.out.println("\n"); }}

Question 7 options:

constant

quadratic

logarithmic

linear

Question 8 (1 point)

You need to choose a sorting algorithm that is as fast as possible, and memory space is in short supply. Which of these is the best choice?

Question 8 options:

bubble sort

merge sort

heap sort

they are all equivalent

Question 9 (1 point)

Which of these sorting algorithms only works on integers? Choose all that apply.

Question 9 options:

quick sort

bucket sort

heap sort

radix sort

Question 10 (1 point)

What does this array look like after the first pass of bubble sort? Assume the values are being sorted into ascending (smallest-to-largest) order.

15, 27, 3, 9, 17, 46, 14, 22, 8

Question 10 options:

15, 27, 3, 9, 17, 14, 22, 8, 46

15, 3, 9, 17, 27, 14, 22, 8, 46

3, 8, 9, 14, 15, 17, 22, 27, 46

15, 27, 3, 9, 17, 8, 14, 22, 46

Question 11 (1 point)

Which of these are characteristics of a heap? Choose all that apply. (Be careful not to confuse heaps with binary search trees.)

each node has at most two children

every node is greater than both of its children

every node is larger than its left child and smaller than its right child

the largest value is in the bottom-right node

Question 12 (1 point)

You need to write a program that frequently adds and removes items at the beginning of a list. Is it better to use an ArrayList or a LinkedList?

ArrayList

LinkedList

the choice doesn't matter in this case

Question 13 (1 point)

You need to write a program that frequently retrieves items from specific indices in a list. Is it better to use an ArrayList or a LinkedList?

Question 13 options:

ArrayList

LinkedList

the choice doesn't matter in this case

Question 14 (1 point)

You need to write a program that frequently iterates through all the items in a list. Is it better to use an ArrayList or a LinkedList?

ArrayList

LinkedList

the choice doesn't matter in this case

Question 15 (1 point)

If an ArrayList has reached its capacity and you try to add another item, there is a performance hit while a new, larger list is created and the values from the current list are copied over to it. How can this delay be avoided?

add all the items at once

set the initial capacity of the list to an estimate of the number of items it will need to hold

multi-thread your application

add items to the beginning rather than the end of the list

Question 16 (1 point)

What is the third value in the breadth-first traversal of this binary search tree?

2

7

14

23

Question 17 (1 point)

What is the third value in the inorder traversal of this binary search tree?

12

14

10

23

Question 18 (1 point)

What is the third value in the preorder traversal of this binary search tree?

12

14

2

16

Question 19 (1 point)

What is the third value in the postorder traversal of this binary search tree?

Question 19 options:

23

46

12

16

Question 20 (1 point)

Question 20 options:

LinkedHashSet

HashSet

TreeSet

1. Very efficient; items are stored unordered

2. Items are stored in the order they are added

3. Items are stored in their 'natural' ordering

Question 21 (1 point)

Match the following complexity terms with their Big-O notation.

Constant

logarithmic

cubic

exponential

linear

quadratic

6. O(2n)

Question 22 (1 point)

Put the following time complexities in order from smallest to largest.

cubic

constant

linear

quadratic

exponential

logarithmic

You'll get 1 file (21.2KB)