Начальный проход как RadixSort
, так и BucketSort
абсолютно одинаков. Элементы помещаются в buckets
(или bins
) инкрементальных диапазонов (например, 0-10, 11-20, ... 90-100), в зависимости от количества цифр в наибольшем числе.
Однако на следующем проходе BucketSort
упорядочивает эти «сегменты» и добавляет их в один массив. Тем не менее, RadixSort
добавляет сегменты без дальнейшей сортировки и «повторно упаковывает» их на основе второй цифры (десятая) чисел. Следовательно, BucketSort более эффективен для «плотных» массивов, тогда как RadixSort может хорошо обрабатывать разреженные (не совсем разреженные, но разнесенные) массивы.