A remarkable collection of illustrated and animated Sorting Algorithms with links to Java source code. Seeing how Quicksort compares to other methods of sorting reinforces why it’s one of the most important algorithms in current use. This page has examples of Quicksort implementations in a bunch of languages.
Quicksort uses a recursive divide and conquor approach to sorting lists. It was created by Tony Hoare in 1960.
Here’s another QuickSort animation which shows exactly what is happening during the sort. It’s a little slow, but after watching one or two iterations, it’s very, very easy to see what is happening.
While I don’t understand how they measure the O(n) space optimization, I love the thinking that goes into these.