English
Related papers

Related papers: Why Is Dual-Pivot Quicksort Fast?

200 papers

QuickXsort is a strategy to combine Quicksort with another sorting method X, so that the result has essentially the same comparison cost as X in isolation, but sorts in place even when X requires a linear-size buffer. We solve the…

Data Structures and Algorithms · Computer Science 2019-05-07 Sebastian Wild

Quicksort is a classical divide-and-conquer sorting algorithm. It is a comparison sort that makes an average of $2(n+1)H_n - 4n$ comparisons on an array of size $n$ ordered uniformly at random, where $H_n = \sum_{i=1}^n\frac{1}{i}$ is the…

Combinatorics · Mathematics 2023-06-23 Pamela E. Harris , Jan Kretschmann , J. Carlos Martínez Mori

We present a stable mergesort variant, Multiway Powersort, that exploits existing runs and finds nearly-optimal merging orders for k-way merges with negligible overhead. This builds on Powersort (Munro & Wild, ESA2018), which has recently…

Data Structures and Algorithms · Computer Science 2023-01-18 William Cawley Gelling , Markus E. Nebel , Benjamin Smith , Sebastian Wild

Sorting is one of the most basic algorithms, and developing highly parallel sorting programs is becoming increasingly important in high-performance computing because the number of CPU cores per node in modern supercomputers tends to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-08 Tomoyuki Tokuue , Tomoaki Ishiyama

We introduce and analyse a new, extremely simple, randomised sorting algorithm: - choose a pair of indices $\{i, j\}$ according to some distribution $q$; - sort the elements in positions $i$ and $j$ of the array in ascending order. Choosing…

Data Structures and Algorithms · Computer Science 2025-02-10 Sam Olesker-Taylor

We provide a probabilistic analysis of the output of Quicksort when comparisons can err.

Probability · Mathematics 2007-05-23 L. Alonso , P. Chassaing , F. Gillet , S. Janson , E. M. Reingold , R. Schott

Bucket sort and RADIX sort are two well-known integer sorting algorithms. This paper measures empirically what is the time usage and memory consumption for different kinds of input sequences. The algorithms are compared both from a…

Data Structures and Algorithms · Computer Science 2012-06-18 Panu Horsmalahti

In this paper we present TSSort, a probabilistic, noise resistant, quickly converging comparison sort algorithm based on Microsoft TrueSkill. The algorithm combines TrueSkill's updating rules with a newly developed next item pair selection…

Data Structures and Algorithms · Computer Science 2016-06-17 Jörn Hees , Benjamin Adrian , Ralf Biedert , Thomas Roth-Berghofer , Andreas Dengel

This paper presents simple variants of the BlockQuicksort algorithm described by Edelkamp and Weiss (ESA 2016). The simplification is achieved by using Lomuto's partitioning scheme instead of Hoare's crossing pointer technique to partition…

Data Structures and Algorithms · Computer Science 2018-10-30 Martin Aumüller , Nikolaj Hass

In this paper, we proposed a new efficient sorting algorithm based on insertion sort concept. The proposed algorithm called Bidirectional Conditional Insertion Sort (BCIS). It is in-place sorting algorithm and it has remarkably efficient…

Data Structures and Algorithms · Computer Science 2017-08-08 Adnan Saher Mohammed , Şahin Emrah Amrahov , Fatih V. Çelebi

In this paper, we propose a useful replacement for quicksort-style utility functions. The replacement is called Symmetry Partition Sort, which has essentially the same principle as Proportion Extend Sort. The maximal difference between them…

Data Structures and Algorithms · Computer Science 2007-06-04 Jing-Chao Chen

We empirically study sorting in the evolving data model. In this model, a sorting algorithm maintains an approximation to the sorted order of a list of data items while simultaneously, with each comparison made by the algorithm, an…

Data Structures and Algorithms · Computer Science 2018-05-16 Juan Jose Besa , William E. Devanny , David Eppstein , Michael Goodrich , Timothy Johnson

Recent work by Google DeepMind introduced assembly-optimized sorting networks that achieve faster performance for small fixed-size arrays (3-8). In this research, we investigate the integration of these networks as base cases in classical…

Data Structures and Algorithms · Computer Science 2026-04-29 Anas Gamal Aly , Anders E. Jensen , Hala ElAarag

The complexity of the Quicksort algorithm is usually measured by the number of key comparisons used during its execution. When operating on a list of $n$ data, permuted uniformly at random, the appropriately normalized complexity $Y_n$ is…

Probability · Mathematics 2013-01-25 Ralph Neininger

Sorting and hashing are two completely different concepts in computer science, and appear mutually exclusive to one another. Hashing is a search method using the data as a key to map to the location within memory, and is used for rapid…

Data Structures and Algorithms · Computer Science 2007-05-23 William F. Gilreath

In this paper, an optimized version of classical Bombelli's algorithm for computing integer square roots is presented. In particular, floating-point arithmetic is used to compute the initial guess of each digit of the root, following…

Mathematical Software · Computer Science 2024-06-13 Fabio Romano

In this paper we introduce RADULS2, the fastest parallel sorter based on radix algorithm. It is optimized to process huge amounts of data making use of modern multicore CPUs. The main novelties include: extremely optimized algorithm for…

Data Structures and Algorithms · Computer Science 2017-03-03 Marek Kokot , Sebastian Deorowicz , Maciej Dlugosz

In this master thesis we analyze the complexity of sorting a set of strings. It was shown that the complexity of sorting strings can be naturally expressed in terms of the prefix trie induced by the set of strings. The model of computation…

Data Structures and Algorithms · Computer Science 2014-08-26 Igor Stassiy

This paper presents ThielSort, a practical implementation of the Diverting Fast Radix (DFR) Algorithm. The theoretical improvements over classical radix sorts are outlined and implementation details are specified to demonstrate that the…

Data Structures and Algorithms · Computer Science 2022-08-02 Stuart Thiel , Larry Thiel , Gregory Butler

This paper discusses about a sorting algorithm which uses the concept of buckets where each bucket represents a certain number of digits. A two dimensional data structure is used where one dimension represents buckets i. e; number of digits…

Data Structures and Algorithms · Computer Science 2014-06-10 Ankit Chadha , Rishikesh Misal , Tanaya Mokashi , Aman Chadha