English
Related papers

Related papers: Dual pivot Quicksort

200 papers

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

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

We investigate distributed memory parallel sorting algorithms that scale to the largest available machines and are robust with respect to input size and distribution of the input elements. The main outcome is that four sorting algorithms…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-17 Michael Axtmann , Peter Sanders

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

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ß

The two most prominent solutions for the sorting problem are Quicksort and Mergesort. While Quicksort is very fast on average, Mergesort additionally gives worst-case guarantees, but needs extra space for a linear number of elements.…

Data Structures and Algorithms · Computer Science 2018-11-05 Stefan Edelkamp , Armin Weiß

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

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

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

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

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

When the search algorithm QuickSelect compares keys during its execution in order to find a key of target rank, it must operate on the keys' representations or internal structures, which were ignored by the previous studies that quantified…

Probability · Mathematics 2012-09-24 James Allen Fill , Takehiko Nakama

The Bulk-Synchronous Parallel model of computation has been used for the architecture independent design and analysis of parallel algorithms whose performance is expressed not only in terms of problem size n but also in terms of parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-29 Alexandros V. Gerbessiotis , Constantinos J. Siniolakis

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

This report investigates three fundamental search algorithms: Linear Search, Binary Search, and Two Pointer Search. Linear Search checks each element sequentially, Binary Search divides the search space in half, and Two Pointer Search uses…

Data Structures and Algorithms · Computer Science 2024-06-25 Nazma Akter Zinnia , Eisuke Hanada

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

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

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

This paper describes in detail the bitonic sort algorithm,and implements the bitonic sort algorithm based on cuda architecture.At the same time,we conduct two effective optimization of implementation details according to the characteristics…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-31 Qi Mu , Liqing Cui , Yufei Song