← 질문 목록
#206깊이 0

해시 충돌을 해결하는 두 방식의 차이는 무엇인가?

자료구조 · 알고리즘기초

체이닝은 연결 리스트로 충돌 데이터를 쌓고, 개방 주소법은 빈 공간을 찾아 저장한다.

기준체이닝개방 주소법
저장 위치버킷 외부버킷 내부
메모리 사용추가 할당 필요정해진 크기 내 사용
성능 저하리스트 탐색 시간 증가클러스터링 발생

체이닝은 데이터가 계속 늘어나도 저장 가능하며 구현이 간단하다. 하지만 데이터가 한 버킷에 쏠리면 탐색 시간이 선형적으로 증가한다.

개방 주소법은 메모리 효율이 좋으나 데이터가 찰수록 빈 칸을 찾는 비용이 크다. 특히 특정 영역에 데이터가 뭉치는 클러스터링 현상이 발생하면 성능이 급격히 떨어진다.

데이터의 양을 예측할 수 없다면 체이닝을, 메모리 공간이 한정적이라면 개방 주소법을 선택한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

해시 충돌을 해결하는 두 방식의 차이는 무엇인가?