For this assignment, you will complete a radix sort implementation and perform timing experiments on the sort. The basic code for radix sort is provided in Sorts.java.
ListOfBuckets
class,
that is used by the radixSort
method. The
functionality of your class is described by the ListOfBuckets.html
javadoc page. Be sure to design your class to meet these specifications exactly, or else the
radixSort
method will not work correctly.
Note: you should test your ListOfBuckets
class thoroughly before proceeding
with the rest of the assignment. You should write a Main
class which
constructs various ListOfBuckets
objects and tests the methods on them.
BucketList
class tested, you can test the
provided radixSort
method.
Write a Main
class
that times the execution of the radixSort
method on lists of various sizes.
The data file words5.txt contains all 8,551 5-letter words
in the online dictionary, randomly ordered. The files
double5.txt and
quadruple5.txt contain those words repeated
two and four times, respectively. Does your implementation exhibit O(N)
performance?
Show your timings and explain your answer. How do these timings (and associated rate of growth)
compare with the selectionSort
method that is also part of the Sorts
class? Show your timings and explain your answers.
You should turn in (via the Digital Dropbox) a NetBeans project containing your
BucketList
class, the provided Sorts
class, and the
Main
class you used to perform timings. In addition, you should turn in the
timings and written explanations from part 2.