해시 테이블(Hash Table)란?
키로부터 해시 함수로 저장할 위치를 계산하여, 평균 O(1)로 탐색·삽입·삭제를 할 수 있는 자료 구조. 서로 다른 키가 같은 위치가 되는 충돌을 체이닝이나 개방 주소법으로 처리한다. 해시 표라고도 한다.
일본어 명칭: ハッシュテーブル
해시 테이블(Hash Table)은(는) 자료 구조와 알고리즘, 확률·통계와 대기행렬, 메모리 계층 구조 등 4개 분야의 연습 문제 7개에 나와요.
분야: 자료 구조와 알고리즘
자주 묻는 질문
해시 테이블과 해시 함수는 어떤 관계인가요?
해시 함수는 키로부터 정해진 범위의 값을 계산하는 함수이고, 해시 테이블은 그것을 저장할 위치의 계산에 사용하는 자료 구조입니다. 해시 테이블용 해시 함수는 속도와 고르게 흩어지는 성질을 중시하며, 암호용 해시 함수 같은 일방향성까지는 요구하지 않는 것이 보통입니다.
해시 테이블은 어디에 쓰이나요?
프로그래밍 언어의 딕셔너리(연관 배열)나 집합(set), 컴파일러의 심볼 테이블, 데이터베이스의 해시 조인이나 해시 인덱스, 캐시 관리 등 키로 값을 빠르게 찾는 장면의 대부분에서 쓰입니다.