Насколько мне известно, не существует алгоритма наихудшего случая, который решает следующую проблему:
Для заданной последовательности длины состоящей из конечных целых чисел, найдите перестановку, где каждый элемент меньше или равен своему преемнику.
Но есть ли доказательство того, что его нет в трансдихотомической модели вычислений ?
Обратите внимание, что я не ограничиваю диапазон целых чисел. Я не ограничиваю решения для сравнений.
Ответы:
Это было показано только пару лет назад группой, в которую входил покойный Михай Патраску (что не должно удивлять никого, кто знаком с его работой). Это замечательный результат, о котором я удивляюсь, о котором многие люди не знают, потому что это означает, что проблема сортировки целых чисел (теоретически) решена.
Существует практический алгоритм (приведенный в статье выше), если вам разрешено изменять ключи. По сути, вы можете сжимать отсортированные целые числа больше, чем сжимать несортированные целые, и дополнительное пространство, которое вы получаете, точно равно дополнительной памяти, необходимой для выполнения сортировки по основанию. Они также дают непрактичный алгоритм, который поддерживает ключи только для чтения.
источник
Если нет верхней границы для размера ваших целых чисел, то я не верю, что существует какой-либо известный алгоритм линейной сортировки по времени.
источник