Skip to content

Latest commit

 

History

History
18 lines (16 loc) · 588 Bytes

5. Open Addressing - Double Hashing.md

File metadata and controls

18 lines (16 loc) · 588 Bytes

Open Addressing - Double Hashing

  • 충돌이 발생했을 때, 건너 뛰는 폭이 매번 다른 것이 좋습니다.
  • 저장할 값에 따라 건너뛰는 폭을 다르게 계산하는 방법입니다.

최초 저장할 위치 계산식

int startIndex = value % SIZE;

충돌이 발생한 경우 건너뛸 폭을 계산하는 식

int step = value % 7 + 1;
  • 이때 나누는 값이 소수인 것이 바람직하고, 배열의 크기보다 작은 것이 좋습니다.

최종 위치 계산식

int index = (startIndex + (충돌 횟수 * step) / SIZE;