Description
The purpose of this assignment is to give you some practice writing and evaluating sort algorithms.
Implement the attached IntSorter interface for the following algorithms:
-
InsertionSorter.java
-
SelectionSorter.java
-
MergeSorter.java
A bubble sort example is attached for illustrative purposes.
-
Interfaces implemented and code compiles (25 points)
-
Insertion Sort (5 points)
-
-
-
3 points for proper sort behavior.
-
1 point for reasonable number of moves.
-
1 point for reasonable run time.
-
-
-
Selection Sort (5 points)
-
-
-
3 point for proper sort behavior.
-
1 point for reasonable number of moves.
-
1 point for reasonable run time.
-
-
-
Merge Sort (7 points)
-
-
-
5 points for proper sort behavior.
-
1 point for reasonable number of moves (note: for Merge Sort, “moves” should be the number of times a value is moved into the temporary array).
-
1 point for reasonable run time.
-
-
-
Explanation (4 points): test your code with arrays of different sizes. Include a file with these answers called “explanation.txt” in your submission.
-
-
-
What are the outputs for number of moves?
-
What are the outputs for runtime?
-
How do your results compare to your understanding of these algorithms?
-
If they are different, why do you think this is?
-
-
-
Grader’s discretion (4 points): reasonable code style / understandable code / proper implementation