Існує добре відомий алгоритм вибору найгіршим випадком для пошуку k 'го найбільшого елемента в масиві цілих чисел. Він використовує підхід середньої медіани, щоб знайти достатньо хороший шарнір, розділяє вхідний масив на місце, а потім рекурсивно продовжує пошук його k -го найбільшого елемента.
Що робити, якщо нам не дозволяють торкатися вхідного масиву, скільки зайвого місця знадобиться для того, щоб знайти -й найбільший елемент за O ( n ) час? Чи можемо ми знайти k -й найбільший елемент в O ( 1 ) додаткового простору і все-таки зберегти час виконання O ( n ) ? Наприклад, пошук максимального або мінімального елемента займає O ( n ) час і O ( 1 ) простір.
Інтуїтивно я не можу уявити, що ми могли б зробити краще, ніж простір, але чи є це докази?
Чи може хтось вказати на посилання або придумати аргумент, чому елемент 'вимагає, щоб O ( n ) простір був знайдений в О ( n ) час?