Изменения

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

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

338 байт убрано, 07:06, 7 мая 2011
Нет описания правки
В этом алгоритме сортировки числа сортируются по разрядам. Существует два варианта <tex>least significant digit (LSD) </tex> и <tex>most significant digit (MSD)</tex>. При <tex>LSD </tex> сортировке, сначала сортируются младшие разряды, затем старшие. При <tex>MSD </tex> сортировке все наоборот. При <tex>LSD </tex> сортировке получается следующий порядок: короткие ключи идут раньше длинных, ключи одного размера сортируются по алфавиту, это совпадает с нормальным представлением чисел: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. При <tex>MSD </tex> сортировке получается алфавитный порядок, который подходит для сортировки строк. Например "b, c, d, e, f, g, h, i, j, ba" отсортируется как "b, ba, c, d, e, f, g, h, i, j". Если MSD применить к числам разной длины, то получим последовательность 1, 10, 2, 3, 4, 5, 6, 7, 8, 9.
== Алгоритм LSD==
Перед сортировкой необходимо определить 2 величины:
1. <tex>1. width</tex> - максимальное количество разрядов в сортируемых величинах 2. <tex>2. range</tex> - количество возможных значений одного разряда ключа(сортируемого элемента)т.е. мощность используемого алфавита.
Сам алгоритм работает следующим образом. Создаются <tex>range</tex> вспомогательных списков - корзин, т.е. на каждое возможное значение разряда элемента по корзине.
Анонимный участник

Навигация