<aside> ❓ 해시는 특정한 함수를 통해서 값을 추출하고 활용하는 자료구조로 저장 또는 검색 등에서 자주 활용된다.
</aside>
→ 이때 특정한 함수인 hash function에 의해 “hash = hash value = hash code = checksum” 을 얻어 간단한 정수값인 key를 얻는 것이다.
이렇게 정수로 변환된 해시는 배열의 인덱스, 위치, 데이터 값을 저장하거나 검색할 때 활용된다.
특징
- 키(KEY)에 데이터(VALUE)를 매핑할 수 있는 데이터 구조
- 해시 함수를 통해 키의 데이터를 배열에 저장할 수 있는 주소(index)를 계산
- 키를 통해서 저장된 데이터를 빠르게 찾고, 저장 및 탐색 속도가 획기적으로 빠름
입력받은 데이터를 해시 값으로 출력시키는 알고리즘
출력된 해시 값이 알맞은 값을 갖기 위해 이 함수는 목적에 맞에 알맞게 설계되어야 한다.
키와 값을 함께 저장해 둔 데이터 구조
버킷(bucket)과 슬롯(slot)으로 이루어져 있다.
해시 구조의 장점/단점과 용도에 대해 알아보자.