You must also write a driver program that demonstrates that all three sort
programs work. Your driver should use the following test cases:
A list of 1,000 identical numbers
A list of 1,000 numbers in random order
A list of 1,000 numbers in increasing order
A list of 1,000 numbers in decreasing order
A list of 900 nunbers in increasing order followed by 100 numbers in random order.
A list of 10,000 identical numbers
A list of 10,000 numbers in random order
A list of 10,000 numbers in increasing order
A list of 10,000 numbers in decreasing order
A list of 9,900 nunbers in increasing order followed by 100 numbers in random order.
Run each test 10 times and make a table with the running time for each run,
as well as the average and the standard deviation for each algorithm.
Analysis: (15 Points)
Using the tables you created, answer the following questions using complete sentences:
Which sort worked best on data in constant or increasing order (ie already sorted data)?
Did the same sort do well on the case of mostly sorted data?
In general, did the ordering of the incoming data affect the performance of the sorting
algorithms? Using the data from your table, support your answer.
Which sort did best on the shorter (ie n=10,000) data sets? Did the same one do better on
the longer (ie n=100,000) data sets?
In general, which sort did better? Give a hypothesis as to why the difference in
performance exists.
Please submit the completed assignment on Blackboard. You must submit your Java programs
as a zip file of your Eclipse project. The analysis must be a typed Microsoft Word file.
No other forms of submission will be accepted.