Simple and Fast BlockQuicksort using Lomuto's Partitioning Scheme

10/29/2018
by   Martin Aumüller, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/03/2021

Is this the simplest (and most surprising) sorting algorithm ever?

We present an extremely simple sorting algorithm. It may look like it is...
research
10/29/2018

Sesquickselect: One and a half pivots for cache-efficient selection

Because of unmatched improvements in CPU performance, memory transfers h...
research
03/23/2015

A Machine Learning Approach to Predicting the Smoothed Complexity of Sorting Algorithms

Smoothed analysis is a framework for analyzing the complexity of an algo...
research
04/24/2017

Fast Sorting Algorithms using AVX-512 on Intel Knights Landing

This paper describes fast sorting techniques using the recent AVX-512 in...
research
07/05/2021

Defeating duplicates: A re-design of the LearnedSort algorithm

LearnedSort is a novel sorting algorithm that, unlike traditional method...
research
06/02/2012

Energy-Aware Task Partitioning on Heterogeneous Multiprocessor Platforms

Efficient task partitioning plays a crucial role in achieving high perfo...
research
11/12/2021

Scalable Algorithms for Bicriterion Trip-Based Transit Routing

The paper proposes multiple extensions to the popular bicriteria transit...

Please sign up or login with your details

Forgot password? Click here to reset