Table of Contents
Fetching ...

ExpoSort: Breaking the quasi-polynomial-time barrier for reluctant sorting

Mikkel Abrahamsen

TL;DR

The algorithm ExpoSort is introduced, a groundbreaking method that sorts an array of n numbers in a spectacularly inefficient Θ(2n) time and achieves this feat with one of the simplest pseudocodes among all known sorting algorithms.

Abstract

We introduce the algorithm ExpoSort, a groundbreaking method that sorts an array of $n$ numbers in a spectacularly inefficient $Θ(2^n)$ time. ExpoSort proudly claims the title of the first reluctant algorithm to decisively surpass the quasi-polynomial running time $Ω(n^{\log n/(2+\varepsilon)})$ of the notoriously sluggish SlowSort algorithm by Broder and Stolfi [ACM SIGACT News, 1984]. In the ongoing quest for the slowest possible sort, ExpoSort redefines what it means to take one's time. Remarkably, ExpoSort achieves this feat with one of the simplest pseudocodes among all known sorting algorithms. However, a slight modification -- merely moving one recursive call inside an if statement -- transforms ExpoSort into an astonishingly well-camouflaged variant of the classic InsertionSort with best- and worst-case running times of $Θ(n)$ and $Θ(n^3)$, respectively. This dual nature of ExpoSort serves as a reminder of the utmost care required when crafting pessimal algorithms, where a slight lapse in judgment could result in accidentally producing an embarrassingly practical algorithm.

ExpoSort: Breaking the quasi-polynomial-time barrier for reluctant sorting

TL;DR

The algorithm ExpoSort is introduced, a groundbreaking method that sorts an array of n numbers in a spectacularly inefficient Θ(2n) time and achieves this feat with one of the simplest pseudocodes among all known sorting algorithms.

Abstract

We introduce the algorithm ExpoSort, a groundbreaking method that sorts an array of numbers in a spectacularly inefficient time. ExpoSort proudly claims the title of the first reluctant algorithm to decisively surpass the quasi-polynomial running time of the notoriously sluggish SlowSort algorithm by Broder and Stolfi [ACM SIGACT News, 1984]. In the ongoing quest for the slowest possible sort, ExpoSort redefines what it means to take one's time. Remarkably, ExpoSort achieves this feat with one of the simplest pseudocodes among all known sorting algorithms. However, a slight modification -- merely moving one recursive call inside an if statement -- transforms ExpoSort into an astonishingly well-camouflaged variant of the classic InsertionSort with best- and worst-case running times of and , respectively. This dual nature of ExpoSort serves as a reminder of the utmost care required when crafting pessimal algorithms, where a slight lapse in judgment could result in accidentally producing an embarrassingly practical algorithm.
Paper Structure (3 sections, 2 theorems)

This paper contains 3 sections, 2 theorems.

Key Result

Lemma 3.1

The best-case running time of $\proc{CubeSort}$ is $\Theta(n)$, and the worst-case is $\Theta(n^3)$.

Theorems & Definitions (4)

  • Lemma 3.1
  • proof
  • Lemma 3.2
  • proof