다음 문제를 고려하십시오.
입력 :리스트 정수
목표 : 정수가 있는지 확인 그것은 두 목록에 있습니다.
두 목록을 모두 가정하자 크기가 . 이 문제에 대한 결정 론적 선형 시간 알고리즘이 있습니까? 즉,이 문제를 해결할 수 있습니까? 무작위성을 사용하지 않고 결정 론적으로 시간?
불행히도 목록 요소가 모두 작다고 가정 할 수는 없습니다.
나는 그것을 해결하는 방법을 볼 수 있습니다 무작위 알고리즘을 사용한 예상 시간 : 임의로 2 개의 범용 해시 함수 선택 의 요소를 저장 해시 테이블로 해시 함수)와 같은 각 요소를 찾습니다. 해시 테이블에 있는지 확인하십시오. 예상 실행 시간은. 그러나 나는 결정적 알고리즘을 찾는 방법을 볼 수 없다시간을 실행. 이것을 무작위 화 해제하고 단일 특정 해시 함수를 수정하려고하면이 절차가 실행되는 최악의 입력이 있습니다.시각. 내가 찾을 수있는 가장 결정적인 알고리즘은 값 정렬과 관련이 있지만 선형 시간은 아닙니다. 선형 주행 시간을 달성 할 수 있습니까?
또한 모든 목록 요소가 범위의 정수라고 가정하면 선형 시간으로 해결하는 방법을 볼 수 있습니다 (기본적으로 카운팅 정렬)-그러나 우리가 그것을 추측 할 수없는 일반적인 경우에 어떤 일이 일어나고 있는지에 관심이 있습니다.
답이 계산 모델에 의존한다면 RAM 모델이 떠오를 것이지만 합리적인 계산 모델에 대한 결과에 관심이 있습니다. 나는 알고있다 요소 고유성에 대한 의사 결정 트리 알고리즘의 하한 이지만, 때때로 우리는 선형 시간 알고리즘을 찾을 수 있기 때문에 결정적이지는 않습니다. 의사 결정 트리 모델에 바인딩됩니다.