정수 배열에서 k 번째로 큰 원소 를 찾는 잘 알려진 최악의 경우 선택 알고리즘 이 있습니다. 그것은 중간 값 접근법을 사용하여 충분한 피벗을 찾고 입력 배열을 제자리에 놓은 다음 재귀 적으로 k 번째로 큰 요소 검색을 계속합니다 .
입력 배열을 건드리지 않으면 O ( n ) 시간 에서 번째로 큰 원소 를 찾기 위해 얼마나 많은 공간이 필요 합니까? O ( 1 )의 추가 공간 에서 k 번째로 큰 요소를 찾고 런타임 O ( n )를 계속 유지할 수 있습니까? 예를 들어, 최대 또는 최소 요소를 찾으려면 O ( n ) 시간과 O ( 1 ) 공간이 필요합니다.
직관적으로, 나는 우리가 공간 보다 더 잘 할 수 있다고 상상할 수 없지만 이것에 대한 증거가 있습니까?
누군가 포인트는 참조 할 수 또는 인수 이유를 가지고 올 '필요 번째 요소 O ( N ) 공간에서 찾을 수 O ( N ) 시간은?
2
나는 전문가가 아니지만 아마도이 논문들이 도움이 될 것이다. 선택 과 시공간 트레이드 오프를
—
Vor