Hash function: 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
Linear Probing
: 충돌이 h[k]에서 발생할 경우, h[k+1] 확인 -> 비어있지 않을 경우, h[k+2] .. 식으로 확인Quadratic Probing
: 해시 저장순서 폭을 제곱으로 저장하는 방식, ex) 충돌이 발생한 경우 1만큼 이동하고 그 다음 계속 충돌이 발생하면 2^2, 3^2 칸씩 옮기는 방식Double Hashing Probing
: 해시된 값을 한번 더 해싱하여 새로운 주소 할당List
or Tree
자료구조를 이용해서 다음 데이터의 주소를 저장하는 방식 7이 없는 이유: 각 자료 구조로 넘어가는데 기준이 1이라면 스위칭되는데 비용이 너무 많이 든다.
특징 | Map | Table |
---|---|---|
Synchronized | x | o |
Thread-Safe | x | o |
Null Key & Null Value | One null key, Any null value | 둘 다 허용 안됨 |
Performance | 빠름 | 비교 연산 느림 |
※ Thread-Safe: 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제없음을 뜻한다.
ex) 여러 스레드가 깉은 코드를 동시에 실행하더라고 각 스레드에서 출력되는 값이 동일하다.