해시테이블(Hash Table)은 키(Key)를 값(Value)에 매핑할 수 있는 데이터 구조다. 해시테이블은 효율적인 데이터 검색을 위해 해시 함수(Hash Function)를 사용하여 키를 해시 코드로 변환하고, 이 해시 코드를 기반으로 값을 저장하거나 검색한다. 해시 함수는 각기 다른 키에 대해 가능한 한 고유한 해시 코드를 생성하는 것이 이상적이다. 그러나, 다른 키가 동일한 해시 코드를 가질 때 발생하는 '충돌(Collision)'을 처리하기 위한 메커니즘이 필요하다.
해시테이블의 주요 특징은 다음과 같다.
O(1)) 복잡도를 가진다. 그러나 최악의 경우(예: 해시 충돌이 많이 발생하는 경우)에는 선형 시간(O(n))에 가까울 수 있다.해시테이블은 데이터베이스, 캐싱, 프로그래밍 언어의 내부 구현 등 다양한 분야에서 널리 사용되는 중요한 데이터 구조다.