|Amazing Animated Sorting Demo|
|Written by Lucy Black|
|Saturday, 02 January 2016|
Sorting is a key algorithm and something every programmer should understand. I Programmer has often taken an interest in new ways of displaying sorting in action, even extending to Hungarian Dances. Now we have another animation to add to our collection and it is very, very nice.
Carlo Zapponi is a data visualization guy at the London offices of the Guardian newspaper. He is also a fervent enthusiast of showing how things are - with as much artistic value as possible.
One of his most recent projects, which we missed when it was brand new, is to show sorting algorithms in a way that is both informative and pleasing.
The basic idea is to show how elements are moved around to achieve the sort order. The diagrams show which pairs of elements are swapped as the sort progresses. Below each diagram is a graph showing how out of order the array is. If you want to understand what is going on then my advice is to try the Bubble Sort example by clicking the + add method icon and selecting it from the list:
Bubble sort is never a good choice of algorithm except when its simplicity is an advantages and here it most certainly is. You can see the scan move up the array swapping elements that are out of order while you watch the graph showing how out of order the elements are slowly decrease.
For a more complex sort you need some help in understanding some of the symbols because not all sorts are simple swaps of elements in the array. For example, there might be an element stored in memory outside of the array. If you select the help symbol you can see a legend:
The whole presentation was so impressive that it was used as an exhibit in "Art of Algorithm" at the annual London Design Festival. Which goes to prove, yet again, that code can be beautiful.
Finally, I can't help but mention the always amazing Sorting Algorithms as Dances. If you haven't already seen it then you are in for a treat. If you have you may want to indulge in a re-run.
or email your comment to: email@example.com
|Last Updated ( Sunday, 28 April 2019 )|