[Data Structure] 여러가지 해시 함수(hash function) 및 해시 충돌(hash collision) 방안
·
Computer Science/Data Structure
여러가지 해시 함수 (Hash Function) 제산 함수테이블크기 $ m $ 을 소수로 선택하고, 탐색키를 테이블크기로 나눈 나머지를 사용한다.폴딩 함수탐색키를 여러 부분으로 나눈 후, 이동 폴딩(shift folding) 또는 경계 폴딩(boundary folding) 방식으로 결합한다.중간제곱 함수탐색키를 제곱한 뒤, 결과의 중간 몇 개 비트를 추출하여 해시 주소로 사용한다.비트추출 함수탐색키를 이진수로 변환한 후, 임의의 위치에서 $ k $ 개의 비트를 선택해 해시 주소로 만든다.숫자 분석 방법탐색키의 편중되지 않는 숫자들을 적절히 조합하여 테이블크기에 맞는 주소를 생성한다. 충돌 (Collision) 서로 다른 탐색키를 갖는 항목들이 같은 해시 주소를 가진다면 문제가 생길 것이고, 이를 충돌이라..