Interactive GUI of some basic sorting algorithms
Finding the right sorting algorithm for the job is one of the oldest problems in computer science, and still receives a ton of research effort today. Studying these different algorithms is a staple in any introductory algorithms course as it provides a good entry point into learning about fundamental computer science ideas such as big O notation, time and space complexity, recursion, as well as heaps, binary trees and other data structures.
For this project I built a GUI to interact with and visualize a few common sorting algorithms: merge sort, bubble sort, and insertion sort. Creating this project not only helped solidify my understanding of these basic sorting algorithms, but also taught me a lot about JavaScript and how to utilize its timing functions.