Slowsort

Slowsort is an in-place, stable sorting algorithm developed by Andrei Broder and Jorge Stolfi. It is a reluctant algorithm based on the principle of multiply and surrender. (Broder and Stolfi)

Steps in Algorithm

A brief description of the algorithm is as follows:

  1. Sort the first half, recursively
  2. Sort the second half, recursively
  3. Find maximum of whole array by comparing results of steps 1 and 2, and place it at the end of the list.
  4. Sort the whole entire list, sans the element removed in step 3, recursively.

Visual Reference

Visual Guide to Slow Sort
Image Credit

Further Reading