The applet below demonstrates an algorithm animation system for sorting algorithms that I implemented during January-March 2003 as part of my dissertation. To launch SAAS, just click the button in the applet.
As the applet is written in SWING, it may run quite slow when changing views and changing the order of the data to be sorted, depending on your browser and the JRE you are using. It works fine as a standalone application.
Known Issues
It is possible that when animating a sorting algorithm, an animation will appear to freeze. This is a rare event and seems dependent on the JRE and not the program itself. Having said this, this bug has not been reported by any other users or experienced by myself in the latest versions (since version 1.01).
The applet has been programmed using SWING. In order to view this applet, you need at least the Java 1.2 plug-in.
Updates
20/07/03 - SAAS is now available to download as a JAR file. The JAR file can be executed by double clicking it under Windows, or under Windows/Linux/Unix via the command prompt like so: java -jar SAAS.jar
04/05/03 (very early morning) - A work around for a "bug" that occurs when SAAS is run from a Jar file using javaw and that sometimes occurs when SAAS is run as an applet has been implemented. It is not so much a bug, but a problem with the JVM. Basically, sometimes some of the animations do not appear to have completely finished. This "bug" does not occur in Linux or Unix or when the jar file is executed by java (not to be confused with javaw).
03/05/03 (evening) - Processing of SortListener objects improved, increasing the speed at which the animations are performed.
16/04/03 (evening) - Further testing of the Single View screen revealed another bug with the QuickSort object of similar fashion to the last one, but this time it was not pausing the object, it was the stopping of it instead. This bug has now been squished.
16/04/03 (afternoon) - Testing of the Single View screen revealed a bug with the QuickSort object in that it failed to recognise the clicking of the pause button by the user when sorting reverse sorted data. This was because the pause condition was not checked by the QuickSort object for some time. This issue has now been resolved.
19/03/03 - Testing of the InsertionSort object revealed a bug regarding how when and for how long the object pauses. This has now been fixed, but required re-defining some key methods of the framework. (Version 1.1)
12/03/03 - Code for animating the text of the intro screen and analysis screens improved, however, array index out of bounds exceptions were sometimes generated by the code of the analysis screen. Bug tracked down and eliminated. (Version 1.04)
11/03/03 pm - Exceptions generated when the help button was clicked whilst disabled has been fixed. Mouse and key events for the help button will only be registered when the button is enabled.
11/03/03 am - Grammatical error on title screen fixed and code for the animation of the headers in the analysis section improved.
05/03/03 - Description of BubbleSort algorithm adjusted, SAAS and help windows now load in the center of the user's screen. (Version 1.03)
04/03/03 - A bug with the Algorithm Race screen has been found and fixed. Users may have noticed with version 1 upto 1.02 that when setting up an algorithm race, the sorting algorithms were displayed in a different order.
03/03/03 - What a nice date? Anyways, some redundant code removed and the intro screen only does the sorting of the intro when the SAAS window is made visible. (Version 1.02)
02/03/03 - Applet now loads all the required files before becoming active.
28/02/03 - Small semantic error with applet fixed. Now a new SAAS window will not be created everytime you click the button.
27/02/03 pm - DotsView now centres its animation and a bug regarding the validation of the Single View screen's layout has been discovered and fixed. (Version 1.01)
27/02/03 am - First full version completed, help information added, applet changed to launch in a separate window, tooltip texts added to entire application, and intro screen finished. (Version 1.0)
21/02/03 - Analysis section completed, GraphView improved so that it now centers itself vertically and horizontally, bug with SelectionSort fixed, and comparison count added to Single View.
19/02/03 - SetUp section fully implemented. Users can now choose the colours used for the animations.
14/02/03 - Number of comparisons, swaps and time taken added to animations.