Hash table (Hash map)
배열과 해시 함수 (Hash function)를 사용하여 map을 구현한 자료구조입니다.
일반적으로 상수 시간으로 데이터에 접근하기 때문에 조회가 빠르다는 장점을 가지고 있습니다.
Hash function
임의의 크기를 가지는 type의 데이터를 고정된 크기를 가지는 type의 데이터로 변환하는 함수입니다.
아래의 그림을 참고 부탁드립니다.
Hash table은 어떻게 동작할까요?
hash collision
key는 다른데 hash가 같을때
ket도 hash도 다른데 hash % map_capacity 결과가 같을 때
hash collision 해결 방법
- open addressing (linear probing)
-> 비어있는 공간에 저장 ->
- separate chaining
-> linked list로 처리
hash table resizing
전체 capacity의 75%가 차면 capacity를 2배로 늘려줌
https://devlog-wjdrbs96.tistory.com/253
https://www.youtube.com/watch?v=ZBu_slSH5Sk
'공부방 > JAVA' 카테고리의 다른 글
mysql - 2일차 (0) | 2022.07.08 |
---|---|
mysql (0) | 2022.07.07 |
일급 컬렉션 (0) | 2021.08.15 |
예외처리 (0) | 2021.07.14 |
[JAVA] enum 이란? (0) | 2021.07.14 |