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.
ListOfBucketsclass, that is used by the
radixSortmethod. 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
radixSortmethod 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
ListOfBuckets objects and tests the methods on them.
BucketListclass tested, you can test the provided
radixSortmethod. Write a
Mainclass that times the execution of the
radixSortmethod 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
selectionSortmethod that is also part of the
Sortsclass? 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.