Learning
토픽 71 / 76·비교표

## Part 4: 해시 자료구조

Chaining vs Open Addressing

항목ChainingOpen Addressing
충돌 해결버킷별 연결 리스트테이블 내 탐사 (선형/이차/이중)
부하율 (α)α > 1 허용α < 1 필수
삭제용이 (리스트 삭제)복잡 (삭제 표시 필요)
캐시 효율낮음 (포인터 추적)높음 (연속 메모리)
클러스터링없음1차/2차 클러스터링
적용Java HashMapPython dict

해시 함수: 나눗셈법 vs 곱셈법 vs 유니버설

항목나눗셈법곱셈법유니버설
수식h(k) = k mod mh(k) = floor(m*(kA mod 1))랜덤 해시 함수 집합
특징단순, m에 민감m 독립적확률적 최적
단점m 선택 중요 (소수 권장)부동소수점 연산구현 복잡

확장성 해싱 vs 선형 해싱 vs 정적 해싱

항목확장성 해싱선형 해싱정적 해싱
버킷 분할필요한 버킷만 분할순차적 버킷 분할고정 (분할 없음)
디렉토리사용 (GD/LD)불필요불필요
재해싱불필요불필요필요
오버플로최소체인 가능체인 필요