해시테이블은 Key-Value 형태로 저장되는 자료구조로, 평균 O(1)의 시간복잡도를 가짐. 흔히, HashMap이라고 불리기도 함.
key 값을 Hash Function을 이용해, Hash Table에 저장할 위치를 정함.
대표적인 Hash Function에는 Division Method(mod 연산)가 있음.
키 값을 인덱스로 직접 사용하여 배치하는 자료구조이며, 빠른검색과 삽입•삭제가 가능함.
최대값에 1을 더한 크기의 배열을 만든 다음(0 기반 인덱스로 가정) 값을 인덱스로 사용함.
해시 충돌은 어떤 entry를 넣으려고 할때, Hash Function으로 찾은 위치에 이미 다른 entry가 존재하는 경우 발생함.
즉, 다른 키 값일때, Hash Function을 통해 같은 값을 가지게 되는 경우 해시 출돌이 발생함.
출처 :