Существует хорошо известный в худшем случае алгоритм выбора , чтобы найти K «й наибольший элемент в массиве целых чисел. Он использует медиану из-медианы подойти , чтобы найти достаточно хороший стержень, разбивает входной массив на месте , а затем рекурсивно продолжается в его поисках к «го по величине элемента.
Что если бы нам не разрешили коснуться входного массива, сколько дополнительного пространства потребовалось бы, чтобы найти -й по величине элемент за O ( n ) времени? Можем ли мы найти k -й по величине элемент в O ( 1 ) дополнительном пространстве и при этом сохранить время выполнения O ( ? Например, нахождение максимального или минимального элемента занимает O ( п ) времени и O ( 1 ) пространство.
Интуитивно, я не могу представить, что мы могли бы сделать лучше, чем пространство, но есть ли доказательства этому?
Может ли кто-то указать на ссылку или выдвинуть аргумент, почему «й элемент требует пространство можно найти в O ( N ) времени?