Multiple Quickselect—Hoare's Find algorithm for several elements
Information Processing Letters
Communications of the ACM
Optimal Sampling Strategies in Quicksort and Quickselect
SIAM Journal on Computing
Efficient dynamic programming using quadrangle inequalities
STOC '80 Proceedings of the twelfth annual ACM symposium on Theory of computing
Adaptive sampling for quickselect
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
On quickselect, partial sorting and multiple quickselect
Information Processing Letters
Journal of Computer and System Sciences
Towards optimal multiple selection
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Hi-index | 0.00 |
In the interval sort problem, we are given an array A of n items and p ranges of ranks I1 = [l1, u1], ..., Ip = [lp, up]. The goal is to rearrange the array so that A[lt..ut] contains the lt-th, ..., ut-th smallest elements of A in nondecreasing order, for all t, 1 ≤ t ≤ p, and A[ut + 1..lt+1 - 1] contains the (ut + 1)-th, ..., (lt+1 - 1)-th smallest elements of A, for all t, 0 ≤t ≤ p. That is, the array is sorted by blocks, with sorted and unsorted blocks alternating. One of the most interesting aspects of this research is the unification of several important and related problems (sorting, selection, multiple selection, partial sorting) under a single framework. Results on interval sorting generalize the results for any of these particular--and fundamental--problems. We propose a divide-and-conquer algorithm, owing to quicksort and quickselect, named chunksort, to solve the problem. We give an exact expression for the average number of comparisons made by the basic variant of chunksort. Then we consider what is the expected optimal number of comparisons needed to solve an interval sort instance and we design a variant of chunksort that achieves near optimal expected performance, up to n+o(n) comparisons. In fact, we conjecture that the algorithm that we propose has actually optimal expected performance up to o(n) terms and provide some evidence for this conjecture.