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
| Autores: | , , |
|---|---|
| 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 |