The Most Complex Machine - xSortLab - QuickSort
Recommendation |
Recommended |
||||
Link |
|||||
Delivery Method |
Java Application |
||||
License |
Non-OSI Open Source |
||||
Language |
English |
||||
Author |
David Eck |
||||
Institution |
Hobart and William Smith Colleges |
||||
Project |
xSortLab |
||||
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. |
||||
Animation; Step Control; Canned Data |
|||||
Teaching the Concept; Self Study; Lecture Aid |
|||||
Screenshots |
|
||||
Videos |
|
||||
References |
|
||||
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 |
|||||
Community |
|
||||
Edit |
You may edit this entry if you have an account. |
