Application of the method of buckets to the selection problem

Document Type

Conference Proceeding

Date of Original Version



We present a selection algorithm called BucketSelect which runs faster than Floyd-Rivest's Select because, while both algorithms use approximately the same number of comparisons, BucketSelect uses far fewer data moves (asymptotically zero). Both methods determine an interval in which the kth smallest is expected to lie with high probability. The key difference between the two approaches is that Select rearranges the entire data set about two pivot elements, while BucketSelect simply places all items that lie in a critical interval into an auxilliary bucket. In the extremely unlikely event that the item sought does not lie in this critical interval, Select is used to find it. The expected running time of BucketSelect is governed by the time taken to place the items in this bucket. A performance evaluation was done which shows that the running time of BucketSelect is about 60% of Select for finding the median for n in the range from 50,000 to 250,000 items. The asymptotic percentage is shown to be 53.6%.

Publication Title

Applied Computing: Technological Challenges of the 1990's