해시 알고리즘
- 해시는 데이터를 다루는 기법 중의 하나로, 검색과 저장을 아주 빠르게 해주는 자료구조이다.
- 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.
해싱
해시 함수
- Key값을 해싱 과정을 통해 해시 Value 또는 해시코드로 변경하는 함수이다.
해시 테이블
- 연관 배열구조를 이용하여 데이터를 Key와 Value로 저장하는 자료구조이다.
- 해시 테이블은 해시함수를 사용하여 인덱스를 버킷이나 슬롯의 배열로 계산한다.
충돌
- 서로 다른 해시코드가 같은 인덱스를 가지는 경우
- 충돌이 많아질 수록 탐색의 시간 복잡도가 O(1)에서 점점 O(n)에 가까워지게 된다.