데브허브 | DEVHUB | [10분 테코톡] 랜디의 해시 테이블
- 해시 테이블은 key-value 데이터를 저장하는 자료구조로, key를 인덱스로 활용하며 빠른 삽입, 삭제, 조회, 수정 연산이 특징입니다. 🔑
- 해시 함수는 key를 입력받아 고정 범위의 해시 값을 반환하는 단방향 암호화 함수이며, 복호화가 불가능하여 보안에도 활용됩니다. 🔒
- 해시 함수의 핵심 특징은 동일 key에 대한 일관된 해시 값 반환, 해시 값의 균등 분포, 그리고 빠른 연산 속도입니다. ⚡
- 버킷은 실제 데이터가 저장되는 공간으로, 해시 값의 넓은 범위를 버킷 배열 크기로 나머지 연산하여 인덱싱합니다. 🧺
- 로드 팩터는 버킷 공간 대비 데이터 저장 비율을 나타내며, 로드 팩터가 높으면 충돌이 빈번해져 성능 저하를 막기 위해 리사이징(rehashing)을 수행합니다. 📈
- 충돌 처리 기법으로는 충돌 데이터를 연결 리스트로 저장하는 체이닝과 빈 공간을 찾아 저장하는 개방 주소법(선형 조사법 등)이 있습니다. 💥