Изменения

Перейти к: навигация, поиск

Алгоритм цифровой сортировки

35 байт добавлено, 19:17, 11 мая 2011
Нет описания правки
'''Первый проход:'''
''Первый этап '' распределение по корзинам и на первом проходе элементы исходной последовательности помещаются в эти корзины по их младшему разряду, т.е. по самому правому символу. Какой этот самый младший разряд у элемента, в такую корзину этот элемент и помещается.
Например, пусть имеем исходную последовательность из <tex>{11, 24, 9, 59, 21, 98, 76, 8}</tex>, для которой определяем <tex>width</tex> = 2, <tex>range</tex> = 10, поэтому будет 10 корзин: <tex>list0, list1..., list9</tex>. Тогда на первом проходе корзины №0, 2, 3, 5, 7 окажутся пусты, а остальные распределят элементы след. образом:
<tex>list9: 9, 59</tex>
'''Второй этап''' - сборка: просто последовательно соединяем один за другим все корзины и располагаем элементы уже в этой последовательности:
<tex>11, 21 (list1), 24(list4), 76(list6), 98, 8(list8), 9, 59(list9)</tex>
'''Второй проход:'''
На втором проходе ''первом этапе'' корзины №3, 4, 6, 8 окажутся пусты, а остальные распределят элементы след. образом:
<tex>list0: 8, 9</tex>
<tex>list9: 98</tex>
Собираем ''На втором этапе'' собираем и получаем отсортированную по возрастанию последовательность: <tex>8, 9(list0), 11(list1), 21(list2), 59(list5), 76(list7), 98(list 9)</tex>
Анонимный участник

Навигация