### All AP Computer Science A Resources

## Example Questions

### Example Question #1 : Mergesort

How is merge sort accomplished?

**Possible Answers:**

The original list is continuously broken up into sublists until each sublist is containts 1 element, then the sublists are combined together.

The orginal list is broken into sublists of 4, then are combined together.

The original list is broken into two groups, then sorted from there.

If there are an even number of elements, the list is broken into two groups, are sorted, then merged back together. If there are odd numbered elements, the list is broken into three groups.

Each element in the list is compared to all the other elements and inserted where it fits.

**Correct answer:**

The original list is continuously broken up into sublists until each sublist is containts 1 element, then the sublists are combined together.

In merge sort, a list is broken up into sublists containing 1 element. Each element is then compared to another element and sorted. Each 2-element group is then combined with other 2-element groups, comparing the first value of each group and deciding how to four elements. The larger group of four is compared to another group of four, until the process ends and the list is sorted.

### Example Question #1 : Sorting

The above diagram represents what type of sorting algorithm?

**Possible Answers:**

Bubblesort

Quicksort

Insertion sort

Selection sort

Mergesort

**Correct answer:**

Mergesort

Mergesort consists of breaking down an unsorted list into subarrays; sorting each sub-array, and recombining the sub-arrays into larger arrays.

### Example Question #1 : Mergesort

Of the choices below, what is the most efficient sorting algorithm for an unordered list where the size of the list is an odd number and the size of the list is finite?

**Possible Answers:**

Mergesort

Selection Sort

Insertion Sort

Bubble Sort

**Correct answer:**

Mergesort

Mergesort is the most efficient among the choices. Both selection sort and insertion sort use O(N^{2}) time. Bubble Sort may seem like a good answer but uses O(N^{2}) time most of the time and can be adapted to use O(N) time however only when the list is nearly sorted, so it's a gamble. Mergesort always uses O(NlogN) time and thus is always the most efficient among the four choices.