Sorting Algorithm Animation System (SAAS)¶
For my dissertation The Animation of Sorting Algorithms for Teaching Purposes at the University of Bath I implemented an algorithm animation system called “SAAS” using Java. The dissertation was completed in May 2003. Screen shots of the application in use can be found below.
The program itself can be downloaded as a JAR file: SAAS.jar
The application allows users to experiment with four different sorting algorithms: Quick Sort, Bubble Sort, Insertion Sort and Selection Sort using four different animations: Line Stack, Dots View, Graph and Colour Stack.
The colours used in the animations can be customised and the application also provides an overview of each algorithm.
Under the covers the application is implemented using the model view controller (MVC) paradigm. The SAAS framework provides the abstract Sort and SortView classes. These are subclassed to implement the sorting algorithms and animations described previously. Sort objects can fire sorting events which can be listened for by another object in the same way that other event types from other Java objects can be fired and listened for.
![_images/saas_screen_shot_1.png](_images/saas_screen_shot_1.png)
The main SAAS screen.
![_images/saas_screen_shot_2.png](_images/saas_screen_shot_2.png)
An algorithm race in progress using the line stack view.
![_images/saas_screen_shot_3.png](_images/saas_screen_shot_3.png)
An algorithm race in progress using the dots view.