CS

[자료구조] 해시테이블(Hash Table)이란?

juhwan 2023. 9. 30. 16:49

해시 테이블은 (Key, Value)로 한 짝을 이루어 데이터를 저장하는 자료구조 중 하나이며,
빠른 검색이 필요할 때 유리한 자료구조입니다.

해시테이블의 특징

  1. 빠른 검색 속도: 해시 테이블은 데이터셋의 크기와 관계없이 항상 일정한 시간 안에 원하는 값을 찾을 수 있다.
  2. 키-값 저장: 각 항목은 '키'와 '값' 쌍으로 저장된다. 사용자는 특정 '키'를 이용하여 해당하는 '값'을 빠르게 검색할 수 있다.
  3. 해시 충돌: 두 개 이상의 키가 동일한 해시값, 즉 동일한 인덱스로 변환되는 경우, 이를 '해시 충돌'이라고 한다.
    충돌 처리 방법 중 체이닝으로 같은 인덱스에 해당하는 요소들을 연결리스트 등으로 관리하는 방법이 있다.
  4. 동적 확장 및 축소: 일부 구현체에서는, 해시 테이블의 크기가 너무 커지거나 작아질 때 동적으로 리사이징 할 수 있다.