This is easily one of the coolest videos I’ve ever found on YouTube.
(note: put your speakers at a lower volume; this seemed fairly loud to me.)
A sorting algorithm is pretty much exactly what it sounds like: it’s an algorithm that puts the elements of a list in a certain order (like in the video above, where the bars represent integers and the algorithms are putting the integers in order from smallest to largest).
There are a bunch of different types, depending on what’s most important to the individual using the algorithm: ease of coding, run time, stability, etc. For example, the bubble sort (4:01 in the vid) has a fairly short code, but has a long run time compared to something like a radix sort (1:56).
At 3:11 and 3:14, you hear Pac Man!
The algorithms used in this video are, in order: selection sort, insertion sort, quick sort, merge sort, heap sort, radix sort (LSD), radix sort (MSD), std::sort (intro sort), std::stable_sort (adaptive merge sort), shell sort, bubble sort, cocktail shaker sort, gnome sort, bitonic sort and bogo sort (30 seconds of it).
(Seriously, I’ve watched this video about 20 times already. It gives me goosebumps!)