Sorting Algorithms Speed Demo

Recommendation

Has Potential

Link

http://www.cs.uwaterloo.ca/~bwbecker/sortingDemo/

Delivery Method

Java Applet

License

BSD-like

Language

English

Author

Byron Weber Becker

Institution

University of Waterloo

Project

StandAlone

RelationshipToProject

StandAlone

Works

Yes

Description

Each applet on the page displays a "swapping bars" animation of a particular sorting algorithm. The input set can be ordered in ascending, descending or random order. Once started, the applet executes the selected sort on the input set at a quick pace. The purpose of this visualization is not to teach the various sorting techniques, but rather to demonstrate relative speeds of execution. The link above contains bubble sort, insertion sort, selection sort, double storage merge sort, shell sort, heap sort, and two versions of quick sort. See also http://www.cs.uwaterloo.ca/~bwbecker/sortingDemo/variants.html for more sorting variants. This second link presents an extended list of sorting algorithms that includes bi-directional bubble sort, shaker sort, in place merge sort, comb sort, and three variations of quick sort.

Evaluation

The visualization does a reasonable job of demonstrating the relative speeds of various sorting algorithms. For example, it gives the user a clear idea of how much faster an O(nlogn) algorithm is than an O(n2) algorithm. However, the user can only customize the kind of input data set (ascending, descending, or random). Allowing the user to also select the size of the input data set could provide useful insight into how each of these algorithms scale with increasing input sizes, further emphasizing the usefulness of an O(nlogn) algorithm over an O(n2) algorithm.

ActivityLevel

GoodFor

Comparison

Screenshots

Videos

References

HowToUse

First Visited

2008-03-01

Last Visited

2008-03-01

Last Updated

2006-11-27

Topic

SortingOverviews

Community

Average rating: unrated
Your rating:You must be logged in to Rate.
Comments

Edit

You may edit this entry if you have an account.