더북(TheBook)

일단 순환이 발생했다면 새로운 해시 함수를 이용하여 재해싱을 수행해야 합니다. 새로운 해시 함수를 사용하여 해시 테이블을 새로 구성한 경우에도 다시금 순환이 발생할 수 있으므로 여러 번 재해싱을 수행해야 할 수도 있습니다. 그러나 적절한 해시 함수를 사용하면 높은 확률로 O(1)의 성능을 갖는 해시 테이블을 구성할 수 있습니다.

열린 주소 지정 방법과 마찬가지로 뻐꾸기 해싱도 전체 해시 테이블 크기 이상의 원소를 저장할 수는 없습니다. 높은 성능을 보장하려면 부하율이 0.5보다 작게끔 설정해야 합니다. 즉, 전체 원소 개수가 해시 테이블 크기의 절반보다 작아야 합니다.

다음 연습 문제에서 뻐꾸기 해싱을 직접 구현해보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.