Results 1 
9 of
9
Optimal Sampling Strategies in Quicksort and Quickselect
 PROC. OF THE 25TH INTERNATIONAL COLLOQUIUM (ICALP98), VOLUME 1443 OF LNCS
, 1998
"... It is well known that the performance of quicksort can be substantially improved by selecting the median of a sample of three elements as the pivot of each partitioning stage. This variant is easily generalized to samples of size s = 2k + 1. For large samples the partitions are better as the median ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
It is well known that the performance of quicksort can be substantially improved by selecting the median of a sample of three elements as the pivot of each partitioning stage. This variant is easily generalized to samples of size s = 2k + 1. For large samples the partitions are better as the median of the sample makes a more accurate estimate of the median of the array to be sorted, but the amount of additional comparisons and exchanges to find the median of the sample also increases. We show that the optimal sample size to minimize the average total cost of quicksort (which includes both comparisons and exchanges) is s = a \Delta p n + o( p n ). We also give a closed expression for the constant factor a, which depends on the medianfinding algorithm and the costs of elementary comparisons and exchanges. The result above holds in most situations, unless the cost of an exchange exceeds by far the cost of a comparison. In that particular case, it is better to select not the median of...
A Practical Quicksort Algorithm for Graphics Processors
, 2008
"... In this paper we present GPUQuicksort, an efficient Quicksort algorithm suitable for highly parallel multicore graphics processors. Quicksort has previously been considered as an inefficient sorting solution for graphics processors, but we show that GPUQuicksort often performs better than the fa ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
In this paper we present GPUQuicksort, an efficient Quicksort algorithm suitable for highly parallel multicore graphics processors. Quicksort has previously been considered as an inefficient sorting solution for graphics processors, but we show that GPUQuicksort often performs better than the fastest known sorting implementations for graphics processors, such as radix and bitonic sort. Quicksort can thus be seen as a viable alternative for sorting large quantities of data on graphics processors.
GPUQuicksort: A Practical Quicksort Algorithm for Graphics Processors
"... In this paper we describe GPUQuicksort, an efficient Quicksort algorithm suitable for highly parallel multicore graphics processors. Quicksort has previously been considered an inefficient sorting solution for graphics processors, but we show that in CUDA, NVIDIA’s programming platform for general ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
In this paper we describe GPUQuicksort, an efficient Quicksort algorithm suitable for highly parallel multicore graphics processors. Quicksort has previously been considered an inefficient sorting solution for graphics processors, but we show that in CUDA, NVIDIA’s programming platform for general purpose computations on graphical processors, GPUQuicksort performs better than the fastest known sorting implementations for graphics processors, such as radix and bitonic sort. Quicksort can thus be seen as a viable alternative for sorting large quantities of data on graphics processors.
Fast Exchange Sorts
"... We present three variations of the following new sorting theme: Throughout the sort, the arrayismaintained in piles of sorted elements. Ateach step, the piles are split into two parts, so that the elements of the left piles are smaller than #or equal to# the elements of the right piles. Then, th ..."
Abstract
 Add to MetaCart
We present three variations of the following new sorting theme: Throughout the sort, the arrayismaintained in piles of sorted elements. Ateach step, the piles are split into two parts, so that the elements of the left piles are smaller than #or equal to# the elements of the right piles. Then, the two parts are each sorted, recursively. The theme, then, is a combination of Hoare's Quicksort idea, and the Pick algorithm, by Blum, et al., for linear selection. The variations arise from the possible choices of splitting method. Twovariations attempt to minimize the average number of comparisons. The better of these has an average performance of 1:075n lg n comparisons. The third variation sacri#ces the average case for a worstcase performance of 1:756n lg n, which is better than Heapsort. They all require minimal extra space and about as manydatamoves as comparisons. 1 Introduction The sorting problem is: Given an array a 1 ;a 2 ; ###;a n of elements, rearrange them so t...
On Smoothed Analysis of Quicksort and Hoare’s Find
"... Abstract. 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 easytoimplement algorithm for finding the kth smallest element of a sequence. While the worstcase number of comparisons ..."
Abstract
 Add to MetaCart
Abstract. 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 easytoimplement algorithm for finding the kth smallest element of a sequence. While the worstcase number of comparisons that Hoare’s find needs is Θ(n 2), the averagecase number is Θ(n). We analyze what happens between these two extremes by providing a smoothed analysis of the algorithm in terms of two different perturbation models: additive noise and partial permutations. In the first model, an adversary specifies a sequence of n numbers of [0, 1], and then each number is perturbed by adding a random number drawn from the interval [0, d]. We prove that Hoare’s find needs Θ ( n p n/d+n) d+1 comparisons in expectation if the adversary may also specify the element that we would like to find. Furthermore, we show that Hoare’s find needs fewer comparisons for finding the median. In the second model, each element is marked with probability p and then a random permutation is applied to the marked elements. We prove that the expected number of comparisons to find the median is in Ω ` (1 − p) n p log n ´ , which is again tight. Finally, we provide lower bounds for the smoothed number of comparisons of quicksort and Hoare’s find for the medianofthree pivot rule, which usually yields faster algorithms than always selecting the first element: The pivot is the median of the first, middle, and last element of the sequence. We show that medianofthree does not yield a significant improvement over the classic rule: the lower bounds for the classic rule carry over to medianofthree. 1
User Background....................................................................................................................xix
"... For contact information, please visit www.vni.com/contact ..."
On Smoothed Analysis of Quicksort and Hoare’s Find ∗
"... Abstract. 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 easytoimplement algorithm for finding the kth smallest element of a sequence. While the worstcase number of comparisons ..."
Abstract
 Add to MetaCart
Abstract. 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 easytoimplement algorithm for finding the kth smallest element of a sequence. While the worstcase number of comparisons that Hoare’s find needs is Θ(n2), the averagecase number is Θ(n). We analyze what happens between these two extremes by providing a smoothed analysis of the algorithm in terms of two different perturbation models: additive noise and partial permutations. In the first model, an adversary specifies a sequence of n numbers of [0,1], and then each number is perturbed by adding a random number drawn from the interval [0,d]. We prove that Hoare’s find needs Θ ( √) n d+1 n/d + n comparisons in expectation if the adversary may also specify the element that we would like to find. Furthermore, we show that Hoare’s find needs fewer comparisons for finding the median. In the second model, each element is marked with probability p and then a random permutation is applied to the marked elements. We prove that the expected number of comparisons to find the median is Ω ( (1−p) n p log n) , which is again tight. Finally, we provide lower bounds for the smoothed number of comparisons of quicksort and Hoare’s find for the medianofthree pivot rule, which usually yields faster algorithms than always selecting the first element: The pivot is the median of the first, middle, and last element of the sequence. We show that medianofthree does not yield a significant improvement over the classic rule: the lower bounds for the classic rule carry over to medianofthree.