Skip to search boxSkip to navigationSkip to main content

Simple and Fast BlockQuicksort using Lomuto's Partitioning Scheme

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Original language

English

Publication milestones

  • Published - 2019

Publication status

Published - 2019

Publisher

Society for Industrial and Applied Mathematics, United States

ISBN (Electronic)

978-1-61197-549-9

Publication IDs

  • Scopus: 85065201958

Host publication title

2019 Proceedings of the Twenty-First Workshop on Algorithm Engineering and Experiments (ALENEX)

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 experimental study shows that, despite their worse theoretical behavior, the simpler variants perform as well as the original version of BlockQuicksort.

Publication metrics

PlumX, opens in new tab

Captures
7
Citations
3
Mentions
1