Probabilistic Analysis of the Dual-Pivot Quicksort "Count"

  title={Probabilistic Analysis of the Dual-Pivot Quicksort "Count"},
  author={Ralph Neininger and Jasmin Straub},
Recently, Aum\"uller and Dietzfelbinger proposed a version of a dual-pivot quicksort, called "Count", which is optimal among dual-pivot versions with respect to the average number of key comparisons required. In this note we provide further probabilistic analysis of "Count". We derive an exact formula for the average number of swaps needed by "Count" as well as an asymptotic formula for the variance of the number of swaps and a limit law. Also for the number of key comparisons the asymptotic… 

Figures from this paper

Accelerating Database Systems Using FPGAs: A Survey
This survey presents a systematic review of research relating to accelerating analytical database systems using FPGAs, including studies of database acceleration frameworks and accelerator implementations for various database operators.


Dual-Pivot Quicksort: Optimality, Analysis and Zeros of Associated Lattice Paths
An average-case analysis of a variant of dual-pivot quicksort is presented and it is shown that the algorithmic partitioning strategy used is optimal, that is, it minimizes the expected number of key comparisons.
Average Case Analysis of Java 7's Dual Pivot Quicksort
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
Multi-Pivot Quicksort : Theory and Experiments
The number of comparisons required to select the i-th smallest of n numbers is shown to be at most a linear function of n by analysis of a new selection algorithm -PICK. Specifically, no more than
Java 7's Dual-Pivot Quicksort
This thesis focuses on the precise and detailed average case analysis of Quicksort, aiming at the flavor of Knuth's series “The Art of Computer Programming”, and tries to understand the efficiency of the algorithms at different levels of abstraction.
Multi-Pivot Quicksort: Theory and Experiments
This work performs the previous experiments using a native C implementation thus removing potential extraneous effects of the JVM, and provides analyses on cache behavior of the dual pivot quicksort algorithm and proposes a 3-pivot variant that performs very well in theory and practice.
Optimal Partitioning for Dual-Pivot Quicksort
A model that captures all dual-pivot algorithms, gives a unified analysis, and identifies new dual- pivot algorithms that minimize the average number of key comparisons among all possible algorithms up to a linear term is introduced.
Average Case and Distributional Analysis of Dual-Pivot Quicksort
Surprisingly, Yaroslavskiy's algorithm needs sightly more Bytecode instructions than a simple implementation of classic Quicksort—contradicting observed running times; and it is shown that the (suitably normalized) costs of YaroslavSKY's algorithm converge to a random variable whose distribution is characterized by a fixed-point equation.
Analysis of Pivot Sampling in Dual-Pivot Quicksort: A Holistic Analysis of Yaroslavskiy’s Partitioning Scheme
It turns out that the asymmetries in Yaroslavskiy’s algorithm render pivots with a systematic skew more efficient than the symmetric choice, which means dual-pivot Quicksort needs significantly less I/Os, both with and without pivot sampling.
Dual-Pivot Quicksort and Beyond: Analysis of Multiway Partitioning and Its Practical Potential
This dissertation conducts a mathematical average-case analysis of multiway Quicksort including the important optimization to choose pivots from a sample of the input and proposes a parametric template algorithm that covers all practically relevant partitioning methods as special cases, and analytically investigates in depth what effect the parameters of the generic quicksort have on its performance.
How Good Is Multi-Pivot Quicksort?
The analysis shows that the benefits of using multiple pivots with respect to the average comparison count are marginal and these strategies are inferior to simpler strategies such as the well-known median-of-k approach.