We present a new adaptive sorting algorithm which is optimal for most disorder metrics and, more important, has a simple and quick implementation. On input $X$, our algorithm has a theoretical $\Omega (|X|)$ lower bound and a $\mathcal{ O}(|X|\log|X|)$ upper bound, exhibiting amazing adaptive properties which makes it run closer to its lower bound as disorder (computed on different metrics) diminishes. From a practical point of view, \textit{ NeatSort} has proven itself competitive with (and often better than) \textit{ qsort} and any \textit{ Random Quicksort} implementation, even on random arrays.

Categories: cs.DS

NeatSort - A practical adaptive algorithm