Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Оригинальной находкой является перевод числа в двоичный вид и уже затем обработка разрядов.Да обычный вариант binary radix sort. В общем-то алгоритму всё равно что из себя представлют разряды, и даже являются ли они позиционной нумерацией в числах (потому можно, например, строки сортировать и прочие сложные штуки).
Неверно. Сортировка подсчётом — типичный пример сортировки с линейным временем работы. Предполагается, что все данные — числа от 1 до X (где X=O(n)).И в такой формулировке просто противоречие, если X in O(n), тогда ну никак не выйдет общее время O(n).
Неверно. Сортировка подсчётом — типичный пример сортировки с линейным временем работы. Предполагается, что все данные — числа от 1 до X (где X=O(n)).Опять же ваш комментарий точно так же противоречив:
При этом символ O берется при w и N стремящихся к бесконечностиЕсли мы берем асимптотику для w и N, тогда у нас по любому в ответе должно быть O(f(w, N)), и т.к. w явно не с нулевым коэффициентом, то O(N) опять же не подходит. Если у вас max_input = N*2^w — тогда оно и выходит N*lg(N) в худшем случае.
BitSorting Алгоритм со сложностью О(n)