Сортировка ковша полезна в ситуациях, когда количество дискретных значений ключа невелико относительно количества элементов данных и где цель состоит в том, чтобы создать повторно отсортированную копию списка, не нарушая оригинала (так что необходимо поддерживать как старые, так и новые версии списка одновременно не является бременем). Если количество возможных клавиш слишком велико для обработки за один проход, можно расширить сортировку ведра в сортировку по основанию, сделав несколько проходов, но один теряет большую часть преимуществ скорости, которые может предложить сортировка ковша для небольших клавиш.
В некоторых сценариях внешней сортировки, особенно когда количество различных значений ключей очень мало (например, два), требуется стабильная сортировка, а устройство ввода-вывода может эффективно работать только с одним последовательным потоком данных, это может быть полезно, чтобы сделать K проходит через поток исходных данных, где K - количество ключевых значений. На первом проходе копируются все элементы, где ключ является минимальным допустимым значением и пропускает остальное, а затем копирует все элементы, где ключ является следующим более высоким значением, пропуская остальные и т. Д. Этот подход, очевидно, будет ужасно эффективным если есть очень много разных ключевых значений, но будет неплохо, если их два.
У вас есть пример места, которое вы ожидаете от его использования, но это не так? –
Сорт radix ставит более жесткие требования к сравниваемым типам, чем сортировка, и не всегда значительно быстрее. Для целых чисел радиус, вероятно, быстрее. –