Тема эффективности поразрядной сортировки по сравнению с другими алгоритмами сортировки несколько сложна и вызывает множество недоразумений. Будет ли поразрядная сортировка столь же эффективной, менее или более эффективной, чем у лучших алгоритмов, основанных на сравнении, зависит от деталей сделанных предположений. Эффективность сортировки по системе Radix составляет O (d · n) для n ключей, содержащих d или меньше цифр. Иногда d представляется как константа, что сделало бы сортировку по основанию лучше (для достаточно больших n), чем лучшие алгоритмы сортировки на основе сравнения, которые требуют O (n · log (n)) числа сравнений. Однако в целом d нельзя считать константой. В частности, при общепринятом (но иногда неявном) предположении, что все ключи различны, тогда d должен иметь порядок не менее log (n), что дает в лучшем случае (с плотно упакованными ключами) временную сложность O (п · журнал (п)). Казалось бы, это делает сортировку по основанию не менее эффективной, чем лучшие сортировки на основе сравнения (и хуже, если ключи намного длиннее, чем log (n)).
Аргумент счетчика - основанные на сравнении алгоритмы измеряются количеством сравнений, а не фактической временной сложностью. При некоторых предположениях сравнения будут в среднем постоянными по времени, при других - нет. Сравнение случайно сгенерированных ключей в среднем занимает постоянное время, так как ключи различаются по самому первому биту в половине случаев и различаются по второму биту в половине оставшейся половины и т. Д., В результате чего получается в среднем два бита, которые нужно сравнивать. В алгоритме сортировки первые выполненные сравнения удовлетворяют условию случайности, но по мере продвижения сортировки сравниваемые ключи явно больше не выбираются случайным образом. Например, рассмотрим сортировку слиянием снизу вверх. Первый проход сравнивает пары случайных ключей, но последний проход сравнивает ключи, которые очень близки по порядку сортировки.
Решающим фактором является способ распределения ключей. Лучшим случаем для поразрядной сортировки является то, что они используются как последовательные битовые комбинации. Это сделает ключи настолько короткими, насколько это возможно, при условии, что они различны. Это делает сортировку по основанию O (n · log (n)), но сортировка на основе сравнения не будет столь эффективной, поскольку при этом предположении сравнения не будут иметь постоянного времени. Если вместо этого мы предположим, что ключи представляют собой битовые комбинации длины k · log (n) для константы k ›1 и log по основанию 2, и что они равномерно случайны, то сортировка по основанию системы счисления все равно будет O (n · log (n) ), но то же самое будет и с сортировкой на основе сравнения, поскольку дополнительная длина делает даже ключи, которые являются последовательными в отсортированном результате, достаточно разными, чтобы сравнения были в среднем постоянным временем. Если ключи длиннее O (log (n)), но случайны, то сортировка по основанию будет хуже. Есть много других предположений, которые также можно сделать, и большинство из них требует тщательного изучения, чтобы сделать правильное сравнение.