Objective: Showcase and compare the performance between various sorting algorithms at different input sizes.
- Created arrays of various sizes with random sets of integers as their elements.
- Created sorting algorithms (Heap sort, Quick sort, Insertion sort) as separate classes.
- Used wrapper functions to choose between regular and modified versions of the algorithms.
- Ran a large number of simulations for each algorithm with various array sizes to get a probabilistic numerical approximation of their runtime.
- Collected data from all simulations and calculated their average time, comparisons, and swaps.
- Displayed the results as the program output.
A Java program showcasing various sorting algorithms with their average runtime, average number of comparisons, and average number of swaps. Some patterns emerge during the simulations to portray a clearer picture of the behaviors of each sorting algorithm.