English
Related papers

Related papers: Optimal Partitioning for Dual-Pivot Quicksort

200 papers

I prove that the average number of comparisons for median-of-$k$ Quicksort (with fat-pivot a.k.a. three-way partitioning) is asymptotically only a constant $\alpha_k$ times worse than the lower bound for sorting random multisets with…

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

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ß

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

Mergesort is one of the few efficient sorting algorithms and, despite being the oldest one, often still the method of choice today. In contrast to some alternative algorithms, it always runs efficiently using O(n log n) element comparisons…

Data Structures and Algorithms · Computer Science 2025-09-30 Christian Siebert

In our study we implemented and compared seven sequential and parallel sorting algorithms: bitonic sort, multistep bitonic sort, adaptive bitonic sort, merge sort, quicksort, radix sort and sample sort. Sequential algorithms were…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-13 Darko Bozidar , Tomaz Dobravec

TimSort is an intriguing sorting algorithm designed in 2002 for Python, whose worst-case complexity was announced, but not proved until our recent preprint. In fact, there are two slightly different versions of TimSort that are currently…

Data Structures and Algorithms · Computer Science 2019-07-09 Nicolas Auger , Vincent Jugé , Cyril Nicaud , Carine Pivoteau

Multisplit is a broadly useful parallel primitive that permutes its input data into contiguous buckets or bins, where the function that categorizes an element into a bucket is provided by the programmer. Due to the lack of an efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-08 Saman Ashkiani , Andrew Davidson , Ulrich Meyer , John D. Owens

Semisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a \emph{key} per record, and reorders them so that…

Data Structures and Algorithms · Computer Science 2023-04-21 Xiaojun Dong , Yunshu Wu , Zhongqi Wang , Laxman Dhulipala , Yan Gu , Yihan Sun

The secondary structure that maximizes the number of non-crossing matchings between complimentary bases of an RNA sequence of length n can be computed in O(n^3) time using Nussinov's dynamic programming algorithm. The Four-Russians method…

Quantitative Methods · Quantitative Biology 2013-08-02 Balaji Venkatachalam , Dan Gusfield , Yelena Frid

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

Sorting is one of the most basic primitives in many algorithms and data analysis tasks. Comparison-based sorting algorithms, like quick-sort and merge-sort, are known to be optimal when the outcome of each comparison is error-free. However,…

Data Structures and Algorithms · Computer Science 2025-05-06 Ragesh Jaiswal , Amit Kumar , Jatin Yadav

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

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

Various decision support systems are available that implement Data Mining and Data Warehousing techniques for diving into the sea of data for getting useful patterns of knowledge (pearls). Classification, regression, clustering, and many…

Cryptography and Security · Computer Science 2024-03-01 Mohammad Khalid Imam Rahmani

Many statistical problems and applications require repeated computation of order statistics, such as the median, but most statistical and programming environments do not offer in their main distribution linear selection algorithms. We…

Methodology · Statistics 2023-02-14 Ivano Azzini , Domenico Perrotta , Francesca Torti

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

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

Proximal splitting algorithms are well suited to solving large-scale nonsmooth optimization problems, in particular those arising in machine learning. We propose a new primal-dual algorithm, in which the dual update is randomized;…

Optimization and Control · Mathematics 2023-03-08 Laurent Condat , Peter Richtárik

Most previous studies of the sorting algorithm QuickSort have used the number of key comparisons as a measure of the cost of executing the algorithm. Here we suppose that the n independent and identically distributed (i.i.d.) keys are each…

Probability · Mathematics 2013-03-14 James Allen Fill

An inherently parallel algorithm is proposed that efficiently performs selection: finding the K-th largest member of a set of N members. Selection is a common component of many more complex algorithms and therefore is a widely studied…

Data Structures and Algorithms · Computer Science 2007-06-15 Greg Sepesi