English

Sesquickselect: One and a half pivots for cache-efficient selection

Data Structures and Algorithms 2019-05-07 v1

Abstract

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 reduces overall memory transfers, we have seen renewed interest in multiway Quicksort. Here, we analyze in how far multiway partitioning helps in Quickselect. We compute the expected number of comparisons and scanned elements (approximating memory transfers) for a generic class of (non-adaptive) multiway Quickselect and show that three or more pivots are not helpful, but two pivots are. Moreover, we consider "adaptive" variants which choose partitioning and pivot-selection methods in each recursive step from a finite set of alternatives depending on the current (relative) sought rank. We show that "Sesquickselect", a new Quickselect variant that uses either one or two pivots, makes better use of small samples w.r.t. memory transfers than other Quickselect variants.

Keywords

Cite

@article{arxiv.1810.12322,
  title  = {Sesquickselect: One and a half pivots for cache-efficient selection},
  author = {Conrado Martínez and Markus Nebel and Sebastian Wild},
  journal= {arXiv preprint arXiv:1810.12322},
  year   = {2019}
}

Comments

appears in ANALCO 2019

R2 v1 2026-06-23T04:56:32.614Z