15 Sorting Algorithms in 6 Minutes
Timo Bingmann4 HN recommenders · 2014–2023
29.4M views · demo · evergreen · Uploaded 2013-05-20
A visualization and sonification of 15 sorting algorithms, from selection sort to bogo sort, run on shuffled integers in six minutes. Each algorithm gets a size and speed scaled to its complexity.
A classic that HN points to for seeing how sorting algorithms behave, valued for how satisfying it is to watch and hear.
19:09A Better Default Colormap for Matplotlib | SciPy 2015 | Nathaniel Smith and Stéfan van der Walt
Enthought
4:48Hans Rosling's 200 Countries, 200 Years, 4 Minutes - The Joy of Stats - BBC
BBC
58:51DON'T PANIC — Hans Rosling showing the facts about population
Gapminder Foundation
59:34CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
28:23The Fast Fourier Transform (FFT): Most Ingenious Algorithm Ever?
Reducible
1:07:41Modern Dictionaries by Raymond Hettinger
SF Python
6:24Wealth Inequality in America
politizane
9:09Animations of unseeable biology | Drew Berry | TED
TED
8 comments from Hacker News
Additional useful resources: * Sorting Algorithm Animations: [LINK] * Data Structure Visualizations (interactive): [LINK] * Sorting algorithm visualization (interactive): [LINK] * 15 Sorting Algorithms in 6 Minutes (video, turn off sound): [VIDEO] * Algorithm Visualization Portal: [LINK] * and I just found an old HN discussions with more resource links: [LINK]
Fascinating! Another sorting visualization that I like is this one: [VIDEO] . It is well-known but the way everything falls back into place at each time... that's very satisfying.
Interesting site! Always cool to see these things visualised. It reminds me of the visualisation of different sorting algorithm (with sound): [VIDEO]
You may enjoy this: [VIDEO] There are several similar videos on YouTube demonstrating sorts. If that's a bit sterile for you, you can get a more human touch via the playlist [LINK]
For true beginners to programming (e.g. my elementary age kids), I found these resources to be really effective at what I think of as the most important lessons in programming: * it's okay to try things * you can't break it * programming is very literal and precise * there's syntax, there's structure, and there are operations [LINK] This one is the best, it is aimed square at anyone whose only experience with computers is typing and web browsing. [LINK] Also great for the leveling down, but you also have to teach some math and some concepts around functions and algorthms, which can definitely feel a little boring / pigeonhole programming as mostly a fancy calculator. Use sparingly and wisely. [LINK] This is just one example, but the code snippets at Python for Beginners are well documented, designed with simple constructs, and are a great way to see "applied programming" / provlem solving to achieve an outcome. One useful technique is to give your student the "problem" the code snippet solves and ask your students to describe how they would code it in words and you transcribe it as some pseudocode on a board, and then "debug" it together to address input validation, logic, efficiency, then they write it.in Python, and then compare your code to the actual snippet. When their code is basically spot on with the snippet it's like they've won the lottery, I definitely had forgotten that magic ... I should make a YouTube playlist of thr videos I've shown them, here's one they liked
just want to quickly share an IMHO interesting sorting algorithm visualization video: [VIDEO] "Visualization and "audibilization" of 15 Sorting Algorithms in 6 Minutes. Sorts random shuffles of integers, with both speed and the number of items adapted to each algorithm's complexity. The algorithms are: 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)."
The classic sorting algo videos with sound come to mind first: [VIDEO] . Mergesort is my favorite video. The main resource on learning Erlang, [LINK] , has a lot of funny ones, some of which are useful.
I was hoping for something less sanitized, that gives more insight into what the processor is doing, like this: [VIDEO] This, though, falls into the enormous genre of algorithms that take some cool phenomenon (often pi) and then quantize it to some tempo, and some scale, and some set of samples, thereby killing everything that was interesting about the original phenomenon.