[자료구조] HashTable

Gavin Ariel Lee·2021년 7월 16일
0

HashTable

데이터를 해시 함수를 이용하여 효율적으로 테이블에 저장, 검색하는 자료구조

  • 연관 배열 구조 : key-value가 1:1로 연관되어있는 자료구조
  • 버킷(인덱스)과 엔트리(데이터) 형태로 구성된다.
  • 해시 함수를 통해 해싱된 데이터를 해시 테이블의 인덱스로 사용하여 저장한다.
  • 삽입, 삭제, 검색이 용이하다.(key만으로 데이터 검색)
  • 해시 충돌이 발생할 수 있다.(서로 다른 키가 값은 해시 값을 갖게 됨)
  • 공간 효율성이 떨어진다.(저장 공간을 미리 확보)
  • 해시 함수에 대한 의존도가 높다.(해시 함수가 복잡하다면 연산 속도 증가)

  • key :고유한 값, 해시 함수의 input
  • hash function : 키를 고정된 길이의 데이터로 변경해줌
    → 키는 해시 함수를 통해 해시로 변경되고 데이터(value)와 매칭되어 저장된다.
  • value : 저장소(버킷)에 최종적으로 저장되는 데이터

시간 복잡도
삽입/삭제/탐색 : O(1)

profile
As you wish

0개의 댓글