장점: 데이터 관리에 유용하며 빠르다. (각각 고유한 키값을 가지므로 바로 접근 가능)
단점: 리소스를 낭비한다.
데이터 - 해시함수 - 해시테이블 의 구성으로 이루어짐.
충돌에 대처하는 방법
1. 체이닝.
해당 인덱스의 값이 이미 차있다면, 그 값의 뒤로 넣어준다. 즉, 리스트의 형태로 만든다.
2. Linear Probing
체이닝일 경우 남은 테이블의 낭비가 심하다. 넣으려는 데이터가 차 있으면 다음 셀에 넣어준다. (
e.g. 123 -> 1은 안되니까 2로 넣어주자)
3. Table resizing
데이터가 들어오는데 들어갈 자리조차 없다면!
참고