처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

알고리즘에서 '해시 충돌(Hash Collision)' 해결 방법 중 '선형 탐사(Linear Probing)'의 문제점은?

어려움 freeCodeCamp
보기 및 정답
A 충돌이 연속된 위치에 몰리는 '1차 클러스터링(Primary Clustering)' 현상이 발생하여 검색 성능이 저하된다
B 충돌이 발생할 때마다 해시 테이블의 전체 크기를 두 배로 확장해야 하므로 메모리 사용량이 급격히 증가한다
C 충돌이 발생하면 기존의 해시 함수를 폐기하고 완전히 새로운 해시 함수로 전체 테이블을 재해싱해야 하므로 전환 비용이 매우 크다
D 각 슬롯에 연결 리스트를 사용하여 충돌 데이터를 저장하므로 포인터 오버헤드가 크고 메모리 단편화가 발생한다

해설

선형 탐사는 충돌 시 다음 빈 슬롯(index+1, index+2...)을 순차 탐색합니다. 채우기율이 높아지면 충돌된 항목들이 연속으로 뭉치는 1차 클러스터링이 발생하여, 삽입/검색 시 긴 연속 구간을 탐사해야 합니다. 이를 개선하기 위해 이차 탐사(Quadratic Probing)나 이중 해싱(Double Hashing)을 사용합니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기