English
Related papers

Related papers: How Good is Multi-Pivot Quicksort?

200 papers

Sorting is an essential operation in computer science with direct consequences on the performance of large scale data systems, real-time systems, and embedded computation. However, no sorting algorithm is optimal under all distributions of…

Data Structures and Algorithms · Computer Science 2025-06-27 Shrinivass Arunachalam Balasubramanian

Sorting is at the core of many database operations, such as index creation, sort-merge joins, and user-requested output sorting. As GPUs are emerging as a promising platform to accelerate various operations, sorting on GPUs becomes a viable…

Databases · Computer Science 2017-05-22 Elias Stehle , Hans-Arno Jacobsen

Consensus clustering (or clustering aggregation) inputs $k$ partitions of a given ground set $V$, and seeks to create a single partition that minimizes disagreement with all input partitions. State-of-the-art algorithms for consensus…

Data Structures and Algorithms · Computer Science 2023-07-11 Nathan Cordner , George Kollios

We explored an uncharted part of the solution space for sorting algorithms: the role of symmetry in divide&conquer algorithms. We found/designed novel simple binary Quicksort and Mergesort algorithms operating in contiguous space which…

Data Structures and Algorithms · Computer Science 2024-02-06 Jens Oehlschlägel

Sundararajan and Chakraborty (2007) introduced a new version of Quick sort removing the interchanges. Khreisat (2007) found this algorithm to be competing well with some other versions of Quick sort. However, it uses an auxiliary array…

Data Structures and Algorithms · Computer Science 2011-07-20 Kiran Kumar Sundararajan , Mita Pal , Soubhik Chakraborty , N. C. Mahanti

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

Cutting plane methods play a significant role in modern solvers for tackling mixed-integer programming (MIP) problems. Proper selection of cuts would remove infeasible solutions in the early stage, thus largely reducing the computational…

Optimization and Control · Mathematics 2021-10-11 Zeren Huang , Kerong Wang , Furui Liu , Hui-ling Zhen , Weinan Zhang , Mingxuan Yuan , Jianye Hao , Yong Yu , Jun Wang

We present a deterministic oblivious LIFO (Stack), FIFO, double-ended and double-ended priority queue as well as an oblivious mergesort and quicksort algorithm. Our techniques and ideas include concatenating queues end-to-end, size…

Data Structures and Algorithms · Computer Science 2016-12-13 Johannes Schneider

We present an average case analysis of two variants of dual-pivot quicksort, one with a non-algorithmic comparison-optimal partitioning strategy, the other with a closely related algorithmic strategy. For both we calculate the expected…

In this paper we generalize the idea of QuickHeapsort leading to the notion of QuickXsort. Given some external sorting algorithm X, QuickXsort yields an internal sorting algorithm if X satisfies certain natural conditions. With…

Data Structures and Algorithms · Computer Science 2013-07-12 Stefan Edelkamp , Armin Weiß

Recently, Aum\"uller and Dietzfelbinger proposed a version of a dual-pivot quicksort, called "Count", which is optimal among dual-pivot versions with respect to the average number of key comparisons required. In this note we provide further…

Data Structures and Algorithms · Computer Science 2017-10-23 Ralph Neininger , Jasmin Straub

In this paper we are proposing a new sorting algorithm, List Sort algorithm, is based on the dynamic memory allocation. In this research study we have also shown the comparison of various efficient sorting techniques with List sort. Due the…

Data Structures and Algorithms · Computer Science 2013-10-30 Adarsh Kumar Verma , Prashant Kumar

We introduce several modifications of the partitioning schemes used in Hoare's quicksort and quickselect algorithms, including ternary schemes which identify keys less or greater than the pivot. We give estimates for the numbers of swaps…

Data Structures and Algorithms · Computer Science 2007-05-23 Krzysztof C. Kiwiel

Smoothed analysis is a framework for analyzing the complexity of an algorithm, acting as a bridge between average and worst-case behaviour. For example, Quicksort and the Simplex algorithm are widely used in practical applications, despite…

Machine Learning · Computer Science 2015-03-29 Bichen Shi , Michel Schellekens , Georgiana Ifrim

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

We present two stable mergesort variants, "peeksort" and "powersort", that exploit existing runs and find nearly-optimal merging orders with practically negligible overhead. Previous methods either require substantial effort for determining…

Data Structures and Algorithms · Computer Science 2019-05-07 J. Ian Munro , Sebastian Wild

We present sorting algorithms that represent the fastest known techniques for a wide range of input sizes, input distributions, data types, and machines. A part of the speed advantage is due to the feature to work in-place. Previously, the…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-05 Michael Axtmann , Sascha Witt , Daniel Ferizovic , Peter Sanders

The theory of divide-and-conquer parallelization has been well-studied in the past, providing a solid basis upon which to explore different approaches to the parallelization of merge sort in Python. Python's simplicity and extensive…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-30 Alexandra Yang

Conventional sorting algorithms make use of such data structures as array, file and list which define access methods of the items to be sorted. Such traditional methods as exchange sort, divide and conquer sort, selection sort and insertion…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-09-17 Samuel King Opoku

Priority queues are data structures that maintain a dynamic collection of elements and allow inserting new elements and removing the smallest element. The most widely known and used priority queue is likely the implicit binary heap, even…

Data Structures and Algorithms · Computer Science 2026-04-29 Johannes Breitling , Ragnar Groot Koerkamp , Marvin Williams