CPSC 220
Fall 2005
HW 3: More Bubblesort and Quicksort
- As we have discussed, most sorting techniques require both 
comparisons  and exchanges.  Fill in the tables below
to give the big-O complexities of Selection Sort, Insertion Sort, and
Bubble Sort for each of these operations on sorted and reverse-sorted arrays.
 
- 
For an already sorted array of N elements.
 
| Sort | Comparisons | Exchanges |  
| Selection Sort |  |  |  
| Insertion Sort |  |  |  
| Bubble Sort |  |  |  
 
 
- 
For a reverse-sorted array of N elements.
 
| Sort | Comparisons | Exchanges |  
| Selection Sort |  |  |  
| Insertion Sort |  |  |  
| Bubble Sort |  |  |  
 
 
 
- Consider the array a of integers below:
6  4  8  3  7  9  1  4  5    
 Assuming you have called method quickSort(a, 0, 8), using
quickSort as written
on page 352 of L&C, show the following:
- A trace of the first call to findPartition.  Show the values of 
partitionelement, left, 
right, data[left] and data[right] as you proceed through the while
loop and its two inner loops.
 
- The value of indexofpartition when findPartition returns.
 
- The parameters that are passed to the first top-level recursive call
to quickSort.
 
- The parameters that are passed to the second top-level recursive call
to quickSort.