English
Related papers

Related papers: The Quicksort Process

200 papers

Since the work of Kaligosi and Sanders (2006), it is well-known that Quicksort -- which is commonly considered as one of the fastest in-place sorting algorithms -- suffers in an essential way from branch mispredictions. We present a novel…

Data Structures and Algorithms · Computer Science 2016-06-27 Stefan Edelkamp , Armin Weiß

We provide a smoothed analysis of Hoare's find algorithm and we revisit the smoothed analysis of quicksort. Hoare's find algorithm - often called quickselect - is an easy-to-implement algorithm for finding the k-th smallest element of a…

Data Structures and Algorithms · Computer Science 2009-04-27 Mahmoud Fouz , Manfred Kufleitner , Bodo Manthey , Nima Zeini Jahromi

The Quickselect algorithm (also called FIND) is a fundamental algorithm for selecting ranks or quantiles within a set of data. Gr\"ubel and R\"osler showed that the number of key comparisons required by Quickselect considered as a process…

Probability · Mathematics 2024-12-31 Jasper Ischebeck , Ralph Neininger

An industrial grade Quicksort function along with its new algorithm is presented. Compared to 4 other well known implementations of Quicksort, the new algorithm reduces both the number of comparisons and swaps in most cases while staying…

Data Structures and Algorithms · Computer Science 2015-05-12 Ammar Muqaddas

The number of comparisons X_n used by Quicksort to sort an array of n distinct numbers has mean mu_n of order n log n and standard deviation of order n. Using different methods, Regnier and Roesler each showed that the normalized variate…

Probability · Mathematics 2007-05-23 James Allen Fill , Svante Janson

We consider systems of stochastic fixed-point equations that arise in the asymptotic analysis of random recursive structures and algorithms such as Quicksort, generalized P\'olya urn processes and path lengths of random recursive trees and…

Probability · Mathematics 2018-03-08 Kevin Leckey

QuickSelect (aka Find), introduced by Hoare (1961), is a randomized algorithm for selecting a specified order statistic from an input sequence of $n$ objects, or rather their identifying labels usually known as keys. The keys can be numeric…

Probability · Mathematics 2026-01-14 James Allen Fill , Jason Matterer

Lexicographical sorting is a fundamental problem with applications to contingency tables, databases, Bayesian networks, and more. A standard method to lexicographically sort general data is to iteratively use a stable sort -- a sort which…

Data Structures and Algorithms · Computer Science 2013-10-08 David Haws

FAST problem is finding minimum feedback arc set problem in tournaments. In this paper we present some algorithms that are similar to sorting algorithms for FAST problem and we analyze them. We present Pseudo_InsertionSort algorithm for…

Data Structures and Algorithms · Computer Science 2019-10-16 Sadra Mohammadshirazi , Alireza Bagheri

We consider a multi-pivot QuickSort algorithm using $K\in\mathbb{N}$ pivot elements to partition a nonsorted list into $K+1$ sublists in order to proceed recursively on these sublists. For the partitioning stage, various strategies are in…

Probability · Mathematics 2026-05-01 Cecilia Holmgren , Jasper Ischebeck , Daniel Krenn , Florian Lesny , Ralph Neininger

This work presents a comparison for the performance of sequential sorting algorithms under four different modes of execution, the sequential processing mode, a conventional multi-threading implementation, multi-threading with OpenMP Library…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-07 Mohammad Fasha

In this paper, we present a framework based on a simple data structure and parameterized algorithms for the problems of finding items in an unsorted list of linearly ordered items based on their rank (selection) or value (search). As a…

Data Structures and Algorithms · Computer Science 2009-09-30 Ankur Gupta , Anna Kispert , Jonathan P. Sorenson

We consider the problem of sorting $n$ items, given the outcomes of $m$ pre-existing comparisons. We present a simple and natural deterministic algorithm that runs in $O(m + \log T)$ time and does $O(\log T)$ comparisons, where $T$ is the…

Data Structures and Algorithms · Computer Science 2026-05-06 Bernhard Haeupler , Richard Hladík , John Iacono , Vaclav Rozhon , Robert Tarjan , Jakub Tětek

We address the problem of learning a ranking by using adaptively chosen pairwise comparisons. Our goal is to recover the ranking accurately but to sample the comparisons sparingly. If all comparison outcomes are consistent with the ranking,…

Machine Learning · Statistics 2017-06-16 Lucas Maystre , Matthias Grossglauser

I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java. I sketch theoretical analyses of this algorithm that offer a possible, and in my opinion plausible, explanation why (a) dual-pivot…

Data Structures and Algorithms · Computer Science 2016-09-29 Sebastian Wild

Multi-Pivot Quicksort refers to variants of classical quicksort where in the partitioning step $k$ pivots are used to split the input into $k + 1$ segments. For many years, multi-pivot quicksort was regarded as impractical, but in 2009 a…

Data Structures and Algorithms · Computer Science 2016-06-01 Martin Aumüller , Martin Dietzfelbinger , Pascal Klaue

This paper gives a straightforward self-contained proof of the formula for the variance of the number of comparisons used by the Quicksort sorting algorithm when pivots are chosen uniformly at random. The result has been known for some time…

Probability · Mathematics 2010-06-22 Vasileios Iliopoulos , David Penman

Quicksort algorithm with Hoare's partition scheme is traditionally implemented with nested loops. In this article, we present loop programming and refactoring techniques that lead to simplified implementation for Hoare's quicksort algorithm…

Data Structures and Algorithms · Computer Science 2019-06-14 Shoupu Wan

There is excitement within the algorithms community about a new partitioning method introduced by Yaroslavskiy. This algorithm renders Quicksort slightly faster than the case when it runs under classic partitioning methods. We show that…

Data Structures and Algorithms · Computer Science 2014-11-18 Sebastian Wild , Markus E. Nebel , Hosam Mahmoud

Sorting is one of the fundamental problems in computer science. Playing a role in many processes, it has a lower complexity bound imposed by $\mathcal{O}(n\log{n})$ when executing on a sequential machine. This limit can be brought down to…

Hardware Architecture · Computer Science 2025-07-23 Daniel Bascones , Borja Morcillo