By the end of this project, you will learn how to create an application that sorts Missouri Tax Data into ascending order using a variety of critical sorting algorithms. We will learn how to process a real life data set, and see the difference between various sorting algorithms in memory and time usage. In addition, we will learn how to analyze a sorting algorithm and how to design a readable implementation. Finally, we will cover what circumstance are ideal for each type of sorting algorithm. After completing this project, students will be able to move to more advanced algorithms and data structures.
Sorting algorithms are essential to the creation of powerful and efficient programs, for almost any circumstance when we need to arrange the data for our user in a certain order. Doing this can make it significantly faster for a human, or even computer, to parse and understand this data to make business decisions. We will explore how each of these sorting methods are different and how to implement them. We will also briefly cover how to access these methods using built-in Java functions. In this course we will cover bubble sort, insertion sort, merge sort, selection sort, and quicksort. These five sorting techniques span a variety of efficiencies and use cases in real life. They also all are easy to implement with knowledge of arrays, recursion, and loops in Java.