Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme

The final publication is available at Springer via http://dx.doi.org/10.1007/s00453-015-0041-7

Detalles Bibliográficos
Autores: Nebel, Markus E., Wild, Sebastian, Martínez Parra, Conrado|||0000-0003-1302-9067
Tipo de recurso: artículo
Fecha de publicación:2016
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/89895
Acceso en línea:https://hdl.handle.net/2117/89895
https://dx.doi.org/10.1007/s00453-015-0041-7
Access Level:acceso abierto
Palabra clave:Algorithms
Quicksort
Dual-pivot
Yaroslavskiy's partitioning method
Median of three
Average-case analysis
I/O operations
External-memory model
Algorismes
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
id ES_7466c8e867cb14fe4d32a2d3ea8bac08
oai_identifier_str oai:upcommons.upc.edu:2117/89895
network_acronym_str ES
network_name_str España
repository_id_str
spelling Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning schemeNebel, Markus E.Wild, SebastianMartínez Parra, Conrado|||0000-0003-1302-9067AlgorithmsQuicksortDual-pivotYaroslavskiy's partitioning methodMedian of threeAverage-case analysisI/O operationsExternal-memory modelAlgorismesÀrees temàtiques de la UPC::Informàtica::Informàtica teòricaThe final publication is available at Springer via http://dx.doi.org/10.1007/s00453-015-0041-7The 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 Quicksort. In this paper, we extend the analysis to the case where the two pivots are chosen as fixed order statistics of a random sample. Surprisingly, dual-pivot Quicksort then needs more comparisons than a corresponding version of classic Quicksort, so it is clear that counting comparisons is not sufficient to explain the running time advantages observed for Yaroslavskiy's algorithm in practice. Consequently, we take a more holistic approach and give also the precise leading term of the average number of swaps, the number of executed Java Bytecode instructions and the number of scanned elements, a new simple cost measure that approximates I/O costs in the memory hierarchy. We determine optimal order statistics for each of the cost measures. It turns out that the asymmetries in Yaroslavskiy's algorithm render pivots with a systematic skew more efficient than the symmetric choice. Moreover, we finally have a convincing explanation for the success of Yaroslavskiy's algorithm in practice: compared with corresponding versions of classic single-pivot Quicksort, dual-pivot Quicksort needs significantly less I/Os, both with and without pivot sampling.Peer Reviewed20162016-08-0120162016-09-14journal articlehttp://purl.org/coar/resource_type/c_6501AMhttp://purl.org/coar/version/c_ab4af688f83e57aainfo:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/2117/89895https://dx.doi.org/10.1007/s00453-015-0041-7reponame:UPCommons. Portal del coneixement obert de la UPCinstname:Universitat Politècnica de Catalunya (UPC)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:upcommons.upc.edu:2117/898952026-05-27T15:37:01Z
dc.title.none.fl_str_mv Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
title Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
spellingShingle Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
Nebel, Markus E.
Algorithms
Quicksort
Dual-pivot
Yaroslavskiy's partitioning method
Median of three
Average-case analysis
I/O operations
External-memory model
Algorismes
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
title_short Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
title_full Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
title_fullStr Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
title_full_unstemmed Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
title_sort Analysis of pivot sampling in dual-pivot Quicksort: A holistic analysis of Yaroslavskiy's partitioning scheme
dc.creator.none.fl_str_mv Nebel, Markus E.
Wild, Sebastian
Martínez Parra, Conrado|||0000-0003-1302-9067
author Nebel, Markus E.
author_facet Nebel, Markus E.
Wild, Sebastian
Martínez Parra, Conrado|||0000-0003-1302-9067
author_role author
author2 Wild, Sebastian
Martínez Parra, Conrado|||0000-0003-1302-9067
author2_role author
author
dc.subject.none.fl_str_mv Algorithms
Quicksort
Dual-pivot
Yaroslavskiy's partitioning method
Median of three
Average-case analysis
I/O operations
External-memory model
Algorismes
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
topic Algorithms
Quicksort
Dual-pivot
Yaroslavskiy's partitioning method
Median of three
Average-case analysis
I/O operations
External-memory model
Algorismes
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
description The final publication is available at Springer via http://dx.doi.org/10.1007/s00453-015-0041-7
publishDate 2016
dc.date.none.fl_str_mv 2016
2016-08-01
2016
2016-09-14
dc.type.none.fl_str_mv journal article
http://purl.org/coar/resource_type/c_6501
AM
http://purl.org/coar/version/c_ab4af688f83e57aa
dc.type.openaire.fl_str_mv info:eu-repo/semantics/article
format article
dc.identifier.none.fl_str_mv https://hdl.handle.net/2117/89895
https://dx.doi.org/10.1007/s00453-015-0041-7
url https://hdl.handle.net/2117/89895
https://dx.doi.org/10.1007/s00453-015-0041-7
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:UPCommons. Portal del coneixement obert de la UPC
instname:Universitat Politècnica de Catalunya (UPC)
instname_str Universitat Politècnica de Catalunya (UPC)
reponame_str UPCommons. Portal del coneixement obert de la UPC
collection UPCommons. Portal del coneixement obert de la UPC
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869410905104580608
score 15,301603