Simple and Fast BlockQuicksort using Lomuto's Partitioning Scheme
Martin Aum\"uller, Nikolaj Hass

TL;DR
This paper introduces simplified variants of BlockQuicksort using Lomuto's partitioning, including a novel two-pivot approach, demonstrating comparable practical performance despite higher theoretical costs.
Contribution
The paper proposes new simplified BlockQuicksort variants with Lomuto's partitioning and a novel two-pivot scheme, enhancing robustness and ease of implementation.
Findings
Lomuto-based approaches have higher average sorting costs than Hoare-based methods.
The new variants perform comparably to original BlockQuicksort in experiments.
The analysis guides effective pivot selection for two-pivot schemes.
Abstract
This paper presents simple variants of the BlockQuicksort algorithm described by Edelkamp and Weiss (ESA 2016). The simplification is achieved by using Lomuto's partitioning scheme instead of Hoare's crossing pointer technique to partition the input. To achieve a robust sorting algorithm that works well on many different input types, the paper introduces a novel two-pivot variant of Lomuto's partitioning scheme. A surprisingly simple twist to the generic two-pivot quicksort approach makes the algorithm robust. The paper provides an analysis of the theoretical properties of the proposed algorithms and compares them to their competitors. The analysis shows that Lomuto-based approaches incur a higher average sorting cost than the Hoare-based approach of BlockQuicksort. Moreover, the analysis is particularly useful to reason about pivot choices that suit the two-pivot approach. An extensive…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
