Initial Setup: Determine the range and create a number of empty buckets. Distribution: Distribute the elements of the array into the appropriate buckets. Each bucket contains a range of values.
Each bucket is then sorted individually, either using a different sorting algorithm, or by recursively applying the bucket sorting algorithm. It is a distribution sort, and is a cousin of radix sort ...