우리는 비교 기반 모델에서 요소 구별이 시간 내에 완료 될 수 없음을 알고 있습니다 . 그러나 워드 RAM에서는 더 나은 결과를 얻을 수 있습니다.
물론 선형 시간으로 계산할 수있는 완벽한 해시 함수가 있다고 가정하면 요소 구별을위한 선형 시간 알고리즘을 얻게됩니다. 충돌이있는 경우 숫자를 하나씩 해시하고 1을 반환하면됩니다.
그러나 두 가지 문제가 있습니다 : 1) 사용 된 임의성을 찾을 수있는 완벽한 해시 함수의 대부분 구성 및 2) 전처리 시간에 대한 토론을 찾을 수 없습니다. 즉, 어떤 해시 함수가 진행되는지 결정하는 데 필요한 시간 입력 된 숫자 세트를 기반으로 사용합니다.
Fredman et al.의 " O ( 1 ) 최악의 액세스 시간 으로 스파 스 테이블 저장 "은 최악의 경우 액세스 시간 으로 해시 함수를 제공하여 첫 번째 문제를 해결 하지만 두 번째 문제에 대해서는 아무 말도하지 않습니다. .
요약하면 다음과 같습니다.
일련의 주어진 알고리즘을 설계 의 N 숫자 (각 숫자 인 w는 워드 길이의 워드 RAM 긴 비트) w , 해시 함수 발견 H : S를 → { 1 , ... , m } 에 O ( N ) 시간 여기서 m = O ( n ) 입니다. 함수 h 는 모든 j ∈ { 1 , … , m } 에 대해j에 매핑되는 S 는 일정하고계산 h ( i ) 는"합리적인"워드 -RAM 모델에서 O ( 1 ) 시간을 가져야합니다. 즉, 모델은 단어의 "이국적인"기능이 O ( 1 ) 시간.
또한 해시 함수를 전혀 사용하지 않는 워드 RAM의 요소 구별을 해결하는 알고리즘이 있는지 알고 싶습니다.