Hash Table(해시 테이블) 이란?
Hash function(해시함수)을 사용하여 키를 Hash(해시) 값으로 매핑하고,
이 해시값을 index 혹은 주소 삼아 데이터의 value를 key와 함께 저장소(bucket, slot)에 저장하는
자료구조가 해시테이블(hash table)이다.
키(key) : 고유한 값이며, 해시 함수의 input이 된다. 다양한 길이의 값이 될 수 있다.
이 상태로 최종 저장소에 저장이 되면 다양한 길이만큼의 저장소를 구성해 두어야 하기 때문에
해시 함수로 값을 바꾸어 저장이 되어야 공간의 효율성을 추구할 수 있다.
해시함수(Hash Function) : 키(key)를 해시(hash)로 바꿔주는 역할을 한다.
다양한 길이를 가지고 있는 키(key)를 일정한 길이를 가지는 해시(hash)로 변경하여 저장소를
효율적으로 운영할 수 있도록 도와준다.
다만, 서로 다른 키(key)가 같은 해시(hash)가 되는 경우를 해시 충돌(Hash Collision)이라고 하는데,
해시 충돌을 일으키는 확률을 최대한 줄이는 함수를 만드는 것이 중요하다.
해시(Hash) : 해시 함수(Hash Function)의 결과물이며, 저장소(bucket, slot)에서 값(value)과 매칭 되어 저장된다.
값(Value) : 저장소(bucket, slot)에 최종적으로 저장되는 값으로 키와 매칭되어 저장, 삭제, 검색, 접근이 가능해야 한다.
'JS' 카테고리의 다른 글
Today I Learned - Tree, Binary Search Tree (0) | 2020.02.10 |
---|---|
Today I Learned - Graph (0) | 2020.02.10 |
Today I Learned - Linked List (0) | 2020.02.07 |
Today I Learned - Stack, Queue (0) | 2020.02.06 |
Today I Learned - OOP, Prototype (0) | 2020.02.06 |