← 질문 목록
#185깊이 0
해시 충돌을 해결하는 두 방식의 차이는 무엇인가?
자료구조 · 알고리즘기초
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
체이닝은 연결 리스트로 충돌 데이터를 쌓고, 개방 주소법은 빈 공간을 찾아 저장한다.
| 기준 | 체이닝 | 개방 주소법 |
|---|---|---|
| 저장 위치 | 버킷 외부 | 버킷 내부 |
| 메모리 사용 | 추가 할당 필요 | 정해진 크기 내 사용 |
| 성능 저하 | 리스트 탐색 시간 증가 | 클러스터링 발생 |
체이닝은 데이터가 계속 늘어나도 저장 가능하며 구현이 간단하다. 하지만 데이터가 한 버킷에 쏠리면 탐색 시간이 선형적으로 증가한다.
개방 주소법은 메모리 효율이 좋으나 데이터가 찰수록 빈 칸을 찾는 비용이 크다. 특히 특정 영역에 데이터가 뭉치는 클러스터링 현상이 발생하면 성능이 급격히 떨어진다.
데이터의 양을 예측할 수 없다면 체이닝을, 메모리 공간이 한정적이라면 개방 주소법을 선택한다.
추천 꼬리질문
관련 질문
- 해시 테이블의 평균 O(1)이 무너지는 경우는?자료구조 · 알고리즘해시 충돌과 그 해결 방식은 해시 테이블의 성능 유지와 시간 복잡도에 직접적인 영향을 준다.
- 해시 충돌 발생 시 해결 방법은 무엇인가?자료구조 · 알고리즘두 질문 모두 해시 충돌 해결 방법이라는 동일한 주제를 다루고 있다.
- 해시 충돌이 생기면 어떤 방법으로 푸는가?자료구조 · 알고리즘해시 충돌 해결 방법들의 구체적인 차이점을 다룸으로써 동일한 개념을 공유한다.
- 해시 충돌이 발생했을 때의 해결책은 무엇인가?자료구조 · 알고리즘두 질문 모두 해시 충돌 해결책이라는 동일한 개념을 다루고 있다.
- 인코딩과 암호화와 해싱은 무엇이 다른가?인프라 · 보안