HashTable은 Key - Value 쌍으로 데이터를 저장하는 자료구조이다.

HashMap으로 불리기도 하며 python의 dictionary는 HashTable로 구현되어 있으며 다음과 같은 내부 구조를 가진다.

Untitled

keys → buckets 부분을 좀 더 자세히 표현하면 다음과 같다.

Untitled

dictionary는 여러개의 bucket으로 이루어져 있다.

이러한 구조는 key값으로 데이터를 찾기 위해 hash function 한번만 수행하면 되기 때문에 데이터 저장/삭제/조회가 매우 빠르다 → 평균 시간복잡도 $O(1)$