Results 1 -
7 of
7
Analysis of Shellsort and related algorithms
- ESA ’96: Fourth Annual European Symposium on Algorithms
, 1996
"... This is an abstract of a survey talk on the theoretical and empirical studies that have been done over the past four decades on the Shellsort algorithm and its variants. The discussion includes: upper bounds, including linkages to number-theoretic properties of the algorithm; lower bounds on Shellso ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
This is an abstract of a survey talk on the theoretical and empirical studies that have been done over the past four decades on the Shellsort algorithm and its variants. The discussion includes: upper bounds, including linkages to number-theoretic properties of the algorithm; lower bounds on Shellsort and Shellsort-based networks; average-case results; proposed probabilistic sorting networks based on the algorithm; and a list of open problems. 1 Shellsort The basic Shellsort algorithm is among the earliest sorting methods to be discovered (by D. L. Shell in 1959 [36]) and is among the easiest to implement, as exhibited by the following C code for sorting an array a[l],..., a[r]: shellsort(itemType a[], int l, int r) { int i, j, h; itemType v;
Lower Bounds for Shellsort
- In Proceedings of the 33rd Annual IEEE Symposium on Foundations of Computer Science
, 1997
"... We show lower bounds on the worst-case complexity of Shellsort. In particular, we give a fairly simple proof of an \Omega\Gamma n lg 2 n=(lg lg n) 2 ) lower bound for the size of Shellsort sorting networks, for arbitrary increment sequences. We also show an identical lower bound for the running ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
We show lower bounds on the worst-case complexity of Shellsort. In particular, we give a fairly simple proof of an \Omega\Gamma n lg 2 n=(lg lg n) 2 ) lower bound for the size of Shellsort sorting networks, for arbitrary increment sequences. We also show an identical lower bound for the running time of Shellsort algorithms, again for arbitrary increment sequences. Our lower bounds establish an almost tight trade-off between the running time of a Shellsort algorithm and the length of the underlying increment sequence. Proposed running head: Lower Bounds for Shellsort. Contact author: Prof. Greg Plaxton, Department of Computer Science, University of Texas at Austin, Austin, Texas 78712--1188. 1 Introduction Shellsort is a classical sorting algorithm introduced by Shell in 1959 [15]. The algorithm is based on a sequence H = h 0 ; : : : ; hm\Gamma1 of positive integers called an increment sequence. An input file A = A[0]; : : : ; A[n \Gamma 1] of elements is sorted by performing an ...
Randomized Shellsort: A simple oblivious sorting algorithm
- In Proceedings 21st ACM-SIAM Symposium on Discrete Algorithms (SODA
, 2010
"... In this paper, we describe a randomized Shellsort algorithm. This algorithm is a simple, randomized, data-oblivious version of the Shellsort algorithm that always runs in O(n log n) time and succeeds in sorting any given input permutation with very high probability. Taken together, these properties ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
In this paper, we describe a randomized Shellsort algorithm. This algorithm is a simple, randomized, data-oblivious version of the Shellsort algorithm that always runs in O(n log n) time and succeeds in sorting any given input permutation with very high probability. Taken together, these properties imply applications in the design of new efficient privacypreserving computations based on the secure multi-party computation (SMC) paradigm. In addition, by a trivial conversion of this Monte Carlo algorithm to its Las Vegas equivalent, one gets the first version of Shellsort with a running time that is provably O(n log n) with very high probability. 1
Sorting Large Records On A Cell Broadband Engine
"... We consider the sorting of a large number of multifield records on the Cell Broadband engine. We show that our method, which generates runs using a 2-way merge and then merges these runs using a 4-way merge, outperforms previously proposed sort methods that use either comb sort or bitonic sort for ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We consider the sorting of a large number of multifield records on the Cell Broadband engine. We show that our method, which generates runs using a 2-way merge and then merges these runs using a 4-way merge, outperforms previously proposed sort methods that use either comb sort or bitonic sort for run generation followed by a 2-way odd-even merging of runs. Interestingly, best performance is achieved by using scalar memory copy instructions rather than vector instructions.
Sorting On A Cell Broadband Engine SPU
, 2009
"... We adapt merge sort for a single SPU of the Cell Broadband Engine. This adaptation takes advantage of the vector instructions supported by the SPU. Experimental results indicate that our merge sort adaptation is faster than other sort algorithms (e.g., AA sort, Cell sort, quick sort) proposed for th ..."
Abstract
- Add to MetaCart
We adapt merge sort for a single SPU of the Cell Broadband Engine. This adaptation takes advantage of the vector instructions supported by the SPU. Experimental results indicate that our merge sort adaptation is faster than other sort algorithms (e.g., AA sort, Cell sort, quick sort) proposed for the SPU as well as faster than our SPU adaptations of shaker sort and brick sort. An added advantage is that our merge sort adaptation is a stable sort whereas none of the other sort adaptations is stable.
2.2 Sorting Numbers on GPUs................................................ 48 2.2.1 SDK Radix Sort Algorithm....................................... 50 2.2.1.1 Step 1–Sorting tiles...................................... 51 2.2.1.2 Step 2–Calculating histog
"... 2.2.2.2 Step 2–Prefix sum of tile histograms.................... 59 2.2.2.3 Step 3–Positioning numbers in a tile.................... 59 2.2.3 SRTS Radix Sort.................................................. 2.2.3.1 Step 1–Bottom level reduce.............................. ..."
Abstract
- Add to MetaCart
2.2.2.2 Step 2–Prefix sum of tile histograms.................... 59 2.2.2.3 Step 3–Positioning numbers in a tile.................... 59 2.2.3 SRTS Radix Sort.................................................. 2.2.3.1 Step 1–Bottom level reduce..............................

