English

Pivot Sampling in Dual-Pivot Quicksort

Data Structures and Algorithms 2014-06-16 v2 Probability

Abstract

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 comparisons than classic single-pivot Quicksort implementations. In this paper, we extend the analysis to the case where the two pivots are chosen as fixed order statistics of a random sample and give the precise leading term of the average number of comparisons, swaps and executed Java Bytecode instructions. It turns out that - unlike for classic Quicksort, where it is optimal to choose the pivot as median of the sample - the asymmetries in Yaroslavskiy's algorithm render pivots with a systematic skew more efficient than the symmetric choice. Moreover, the optimal skew heavily depends on the employed cost measure; most strikingly, abstract costs like the number of swaps and comparisons yield a very different result than counting Java Bytecode instructions, which can be assumed most closely related to actual running time.

Cite

@article{arxiv.1403.6602,
  title  = {Pivot Sampling in Dual-Pivot Quicksort},
  author = {Markus E. Nebel and Sebastian Wild},
  journal= {arXiv preprint arXiv:1403.6602},
  year   = {2014}
}

Comments

presented at AofA 2014 (http://www.aofa14.upmc.fr/)

R2 v1 2026-06-22T03:34:41.636Z