
[중간정리] 2주차 - 해시 충돌과 체이닝, 병합 정렬, 큐, 캐시 메모리, 프로세스/스레드
·
크래프톤 정글/CS기초(키워드, 개념정리)
해시 충돌과 체이닝해시 충돌(Hash Collision)은 해시 테이블에서 두 개 이상의 서로 다른 키가 동일한 저장공간(인덱스)에 할당되는 현상이다. 해시 테이블에서는 주어진 키를 해시 함수를 통해 테이블의 인덱스로 변환하는데, 해시 함수의 특성상 입력 값의 범위를 제한된 인덱스 범위로 축소시키므로 서로 다른 키 값이 같은 해시 값을 가질 수 있게 된다. 그리고 이로 인해 충돌이 발생하게 된다. 체이닝(Chaining)은 해시 충돌 문제를 해결하기 위한 대표적인 방법 중 하나로, 해시 테이블의 각 인덱스에 연결 리스트(Linked List)를 두어 충돌이 발생한 여러 키-값 쌍을 함께 저장하는 방법이다. 체이닝을 사용하면 충돌이 발생하더라도 데이터의 손실 없이 여러 데이터를 동일한 인덱스에 저장할 수 ..