Time and Space Complexity
Урок 7 из 9 курса Поразрядная сортировка — серия DSA на Coddy.
Временная сложность:
- O(d * (n + k))
- где n — количество элементов, k — основание системы счисления (10), а d — количество разрядов в наибольшем значении. Каждый из d проходов выполняет O(n + k) работы.
- Когда d мало и фиксировано, алгоритм ведет себя как O(n), что быстрее, чем O(n log n) в сортировках сравнением.
Пространственная сложность:
- O(n + k)
- На каждом проходе создается выходной массив размера n и массив счетчиков размера k.
Итог:
- Поразрядная сортировка (Radix Sort) — это стабильная сортировка без сравнений, которая может превзойти O(n log n) для целочисленных ключей с ограниченным количеством разрядов.
- Для нее требуются ключи, которые можно разделить на разряды, и дополнительная память; данная версия предполагает использование неотрицательных целых чисел.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Поразрядная сортировка — серия DSA
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)