See a new version of this video: • Visualization of Quick sort (HD) (HD + narration)
A demonstration of the Quick Sort sorting algorithm.
Visit my homepage, https://www.udiprod.com/, or read about my latest book http://www.zutopedia.com
It demonstrates two comparison sorting algorithms: Bubble sort and Quick sort.
Comparison sorting algorithms are only allowed to 'see' the data through a sequence of pairwise comparisons, therefore they are applicable to any type of comparable objects: numbers, strings, colored balls, etc
Bubble sort is very simple but has poor performance. A comparison sorting algorithm's performance is usually measured by the number of comparisons it makes. Bubble sort performs on the order of n^2 comparisons to sort n elements.
Quick sort is only slightly more complicated but usually performs much better (as demonstrated in the video). It performs on average an order of n log(n) comparisons to sort n elements. This is much lower than n^2 for large values of n. However, if the algorithm makes some 'unlucky' choices it might require n^2 comparisons after all.
Other algorithms exist that guarantee the number of comparisons will not exceed n log(n), however, in practice Quick sort usually outperforms all other comparison sorting algorithms due to its simplicity.
If other operations other than pairwise comparisons are allowed, then a broader range of algorithms can be used. Some of them can perform much faster than Quick sort, but they are limited to a particular type of elements, e.g., numbers is a certain range.