Цифрове сортуванняЦифрове сортування, також відомий як граф роду (не плутати з підрахунком роду), є алгоритм сортування, який підходить для сортування списків елементів, в яких кількість елементів (n) і число можливих значень ключа (N) приблизно ж вона вимагає O(n + N) часу. Алгоритм працює наступним чином:
Наприклад, припустимо, що ми розбирали ці пари значень їх першого елемента:
Для кожного значення між 3 і 8 ми створюємо список, а потім перемістимо кожен елемент до його класу:
Потім ми переберемо масив в порядку і перемістіть їх назад в початковий список. Різниця між осередками сортування і підрахунку роду є те, що при підрахунку роду, допоміжний масив не містить списки вхідних елементів, тільки має значення:
Використовуючи цю інформацію ми можемо виконати ряд обмінів на вхід масив, який ставить його в порядку, переміщення елементів тільки один раз. Для масивів, де N набагато більше, ніж n, ківш роду є узагальнення, що є ефективнішим у просторі та часі. Див. такожЛітература
Посилання
|