pdqsort ("pattern defeating quicksort") is an incredibly fast sort that even outperforms timsort and std::sort in C++!
miniblog.
Related Posts
I'm comfortable choosing sorting algorithms for a computer. Choosing a sorting algorithm for a human seems much harder.
For example, suppose you want to sort a shuffled deck cards. Quicksort seems too fiddly for a manual process with a relatively small (52) quantity.
"When [Gordon Hoare] first developed quicksort, he thought it was too simple to publish." Beautiful Code p21. Ah, hindsight!
Implemented quicksort in Trifle lisp! https://github.com/Wilfred/trifle/commit/4e7aa895e88fbb7f936927c4e8e14f25c9a618fd Inspired by the minimalist Haskell implementation, which is pretty but slow.