English
Related papers

Related papers: Optimal Partitioning for Dual-Pivot Quicksort

200 papers

Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step $k$ pivots are used to split the input into $k + 1$ segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a…

Data Structures and Algorithms · Computer Science 2016-06-01 Martin Aumüller , Martin Dietzfelbinger , Pascal Klaue

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries. They make a basic variant of this algorithm use less comparisons than classic single-pivot…

Data Structures and Algorithms · Computer Science 2015-08-11 Sebastian Wild , Markus E. Nebel , Conrado Martínez

In 2009, Oracle replaced the long-serving sorting algorithm in its Java 7 runtime library by a new dual-pivot Quicksort variant due to Vladimir Yaroslavskiy. The decision was based on the strikingly good performance of Yaroslavskiy's…

Data Structures and Algorithms · Computer Science 2015-02-16 Sebastian Wild , Markus E. Nebel , Ralph Neininger

Recently, a new Quicksort variant due to Yaroslavskiy was chosen as standard sorting method for Oracle's Java 7 runtime library. The decision for the change was based on empirical studies showing that on average, the new algorithm is faster…

Data Structures and Algorithms · Computer Science 2013-10-29 Sebastian Wild , Markus E. Nebel

The new dual-pivot Quicksort by Vladimir Yaroslavskiy - used in Oracle's Java runtime library since version 7 - features intriguing asymmetries in its behavior. They were shown to cause a basic variant of this algorithm to use less…

Data Structures and Algorithms · Computer Science 2014-06-16 Markus E. Nebel , Sebastian Wild

In this paper, we analyse the dual pivot Quicksort, a variant of the standard Quicksort algorithm, in which two pivots are used for the partitioning of the array. We are solving recurrences of the expected number of key comparisons and…

Data Structures and Algorithms · Computer Science 2015-03-31 Vasileios Iliopoulos , David B. Penman

The analysis of algorithms mostly relies on counting classic elementary operations like additions, multiplications, comparisons, swaps etc. This approach is often sufficient to quantify an algorithm's efficiency. In some cases, however,…

Data Structures and Algorithms · Computer Science 2015-01-20 Conrado Martínez , Markus E. Nebel , Sebastian Wild

There is excitement within the algorithms community about a new partitioning method introduced by Yaroslavskiy. This algorithm renders Quicksort slightly faster than the case when it runs under classic partitioning methods. We show that…

Data Structures and Algorithms · Computer Science 2014-11-18 Sebastian Wild , Markus E. Nebel , Hosam Mahmoud

I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java. I sketch theoretical analyses of this algorithm that offer a possible, and in my opinion plausible, explanation why (a) dual-pivot…

Data Structures and Algorithms · Computer Science 2016-09-29 Sebastian Wild

Much of the copious literature on the subject of sorting has concentrated on minimizing the number of comparisons and/or exchanges/copies. However, a more appropriate yardstick for the performance of sorting algorithms is based on the total…

Data Structures and Algorithms · Computer Science 2020-12-03 R. C. Hillyard , Yunlu Liaozheng , Sai Vineeth K. R

We consider the fundamental problem of internally sorting a sequence of $n$ elements. In its best theoretical setting QuickMergesort, a combination Quicksort with Mergesort with a Median-of-$\sqrt{n}$ pivot selection, requires at most $n…

Data Structures and Algorithms · Computer Science 2018-04-27 Stefan Edelkamp , Armin Weiß

Quicksort is an instructive classroom approach to parallel sorting on distributed memory parallel computers with many opportunities for illustrating specific implementation alternatives and tradeoffs with common communication interfaces…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-25 Jesper Larsson Träff

We consider a multi-pivot QuickSort algorithm using $K\in\mathbb{N}$ pivot elements to partition a nonsorted list into $K+1$ sublists in order to proceed recursively on these sublists. For the partitioning stage, various strategies are in…

Probability · Mathematics 2026-05-01 Cecilia Holmgren , Jasper Ischebeck , Daniel Krenn , Florian Lesny , Ralph Neininger

Modern comparison sorts like quicksort suffer from performance inconsistencies due to suboptimal pivot selection, leading to $(O(N^2))$ worst-case complexity, while in-place merge sort variants face challenges with data movement overhead.…

Data Structures and Algorithms · Computer Science 2026-01-06 Jia Xu Wei

Because of unmatched improvements in CPU performance, memory transfers have become a bottleneck of program execution. As discovered in recent years, this also affects sorting in internal memory. Since partitioning around several pivots…

Data Structures and Algorithms · Computer Science 2019-05-07 Conrado Martínez , Markus Nebel , Sebastian Wild

This paper introduces a novel and efficient partitioning technique for quicksort, specifically designed for real-world data with duplicate elements (50-year-old problem). The method is referred to as "equal quicksort" or "eqsort". Based on…

Data Structures and Algorithms · Computer Science 2025-03-12 Parviz Afereidoon

The linear pivot selection algorithm, known as median-of-medians, makes the worst case complexity of quicksort be $\mathrm{O}(n\ln n)$. Nevertheless, it has often been said that this algorithm is too expensive to use in quicksort. In this…

Data Structures and Algorithms · Computer Science 2016-08-18 Noriyuki Kurosawa

QuickXsort is a highly efficient in-place sequential sorting scheme that mixes Hoare's Quicksort algorithm with X, where X can be chosen from a wider range of other known sorting algorithms, like Heapsort, Insertionsort and Mergesort. Its…

Data Structures and Algorithms · Computer Science 2018-11-06 Stefan Edelkamp , Armin Weiß , Sebastian Wild

In this note the precise minimum number of key comparisons any dual-pivot quickselect algorithm (without sampling) needs on average is determined. The result is in the form of exact as well as asymptotic formul\ae{} of this number of a…

Combinatorics · Mathematics 2016-10-18 Daniel Krenn

An industrial grade Quicksort function along with its new algorithm is presented. Compared to 4 other well known implementations of Quicksort, the new algorithm reduces both the number of comparisons and swaps in most cases while staying…

Data Structures and Algorithms · Computer Science 2015-05-12 Ammar Muqaddas
‹ Prev 1 2 3 10 Next ›