The Most Complex Machine - xSortLab - QuickSort

Recommendation

Recommended

Link

http://math.hws.edu/TMCM/java/classes/xSortLab.jar

Delivery Method

Java Application

License

Non-OSI Open Source

Language

English

Author

David Eck

Institution

Hobart and William Smith Colleges

Project

xSortLab

RelationshipToProject

PartOfCollection

Works

Yes

Description

Very intuitive visualization that explains the Quick Sort Algorithm. This can be used for classroom presentation, or individually by students.The method used here is a bar-swapping in a stepwise or continuous fashion with explanations of the code taking place. It is Instrumented for AlgorithmSimulation (compares and copies). It also has a separate simulation mode which dispenses with the swapping bars that makes the understanding easier and intuitive. Here the processing of each and every sublist in the whole array of numbers is sequential and separate, which enables easier understanding. It has log options that maintains the history of execution steps and a "Timed Sort" option that enables the user to define his array set and compare the time complexities of quick sort with other sorting schemes.

Evaluation

This is a good visualization for Quicksort. It is highly intuitive with different colors being used to indicate which element is in its sorted position and a green rectangle highlights the area of the list that is currently under consideration. The Pivot moves out of the array to clearly indicate that it is something different is happening. A red outline it then used to indicate which item is currently being compared to the pivot. There is a step by step explanation at the bottom. The visualization is missing some key functionalities like user control of the data to sort, viewing execution history and flexible execution control. It does not have a pseudocode window. Most importantly, it does not directly show how the array is broken into sub-arrays (though it almost gets that idea across by boxing the part of the array currently being processed). Even though the visualization misses those features, it effectively gives an idea about how Quicksort works, how it handles each partition, and how it iterates through by effectively visualizing partitions, providing text messages explaining each step of the execution flow.

ActivityLevel

Animation; Step Control; Canned Data

GoodFor

Teaching the Concept; Self Study; Lecture Aid

Screenshots

Videos

References

HowToUse

An applet at the project homepage. Simply select the desired sorting algorithm. Then press "go" for a running animation, or "step" to control it step by step. If it goes too slowly for you, click the "fast" checkbox.

First Visited

2006-09-06

Last Visited

2010-02-11

Last Updated

1997-08-01

Topic

QuickSort

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.