Communications of the ACM
Some thoughts on proving clean termination of programs.
Some thoughts on proving clean termination of programs.
An application of the method of Buckets to the selection problem
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
Expected time bounds for selection
Communications of the ACM
Parallel Implementations of the Selection Problem: A Case Study
International Journal of Parallel Programming
The generation of order statistics in digital computer simulation: A survey
WSC '78 Proceedings of the 10th conference on Winter simulation - Volume 1
On Floyd and Rivest's SELECT algorithm
Theoretical Computer Science
Algorithms for memory hierarchies: advanced lectures
Algorithms for memory hierarchies: advanced lectures
Linear-time nearest point algorithms for coxeter lattices
IEEE Transactions on Information Theory
Hi-index | 48.30 |
SELECT will rearrange the values of array segment X[L: R] so that X[K] (for some given K; L ≤ K ≤ R) will contain the (K-L+1)-th smallest value, L ≤ I ≤ K will imply X[I] ≤ X[K], and K ≤ I ≤ R will imply X[I] ≥ X[K. While SELECT is thus functionally equivalent to Hoare's algorithm FIND [1], it is significantly faster on the average due to the effective use of sampling to determine the element T about which to partition X. The average time over 25 trials required by SELECT and FIND to determine the median of n elements was found experimentally to be: n 500 1000 5000 10000 SELECT 89 ms. 141 ms. 493 ms. 877 ms. FIND 104 ms. 197 ms. 1029 ms. 1964 ms. The arbitrary constants 600, .5, and .5 appearing in the algorithm minimize execution time on the particular machine used. SELECT has been shown to run in time asymptotically proportional to N + min (I, N-I), where N = L - R + 1 and I = K - L + 1. A lower bound on the running time within 9 percent of this value has also been proved [2]. Sites [3] has proved SELECT terminates.