Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

데이터 구조의 비대칭 해싱


이 섹션에서는 비대칭 해싱 기술이 무엇인지 살펴보겠습니다. 이 기술에서 해시 테이블은 d개의 블록으로 분할됩니다. 각 분할의 길이는 n/d입니다. 프로브 값 xi, 0 ≤ i ≤ d는 $$\lbrace\frac{i*n}{d},...,\frac{(i+1)*n}{d-1}에서 균일하게 추출됩니다. \r중괄호$$. 객관식 해싱과 마찬가지로 x를 삽입하기 위해 알고리즘은 목록 A[x0의 길이를 확인합니다. ], A[x1 ], . . ., A[xd – 1 ]. 그런 다음 이러한 목록 중 가장 짧은 항목에 x를 추가합니다. 동점인 경우 인덱스가 가장 작은 목록에 x를 삽입합니다.

Vocking에 따르면 비대칭 해싱에 대한 가장 긴 목록의 예상 길이는 -

입니다.

$$E[W]\leq\frac{ln\:ln\:n}{d\:ln\:\phi_{2}}+O(1)$$

기능 𝜙𝑑 는 황금비의 일반화이므로 $$\phi_{2}=\frac{(1+\sqrt{5})}{2}$$