먼저 생각하기 · 기초
ht64 predict · 64상태 collision·probe·rehash Gold lab: “결정론적 direct-slot/chaining/linear-tombstone/quadratic-eager-clear 추상 정책을 언어별 내부 layout·성능·보안·thread 보장으로 복사한다.” 조건에서 probe·chain·load·lookup 결과를 실행 전에 봉인한다.
capacity 5, h(k)=k mod 5인 language-neutral unique-key map은 각 bucket에 insertion-order chain을 둔다. put 2:A, put 7:B, put 12:C, get 7, put 7:B2, remove 2, get 12를 수행한다.
각 operation 뒤 bucket 2 chain, 반환값, size와 equality comparison 수를 예측하세요. collision과 duplicate update가 왜 서로 다른 사건인지 설명하고 전체 map이 상수 시간이라고 단정하지 마세요.
- put은 home bucket chain을 앞에서부터 equality 검사하고 equal key가 있으면 value를 바꾸고 old value를 반환한다.
- equal key가 없으면 chain 뒤에 새 entry를 붙이고 size를 1 늘리며 NEW를 반환한다.
- get과 remove도 chain 앞에서부터 equality 검사하며 remove는 찾은 node만 연결에서 제외한다.
- 서로 다른 key 2, 7, 12는 모두 bucket 2로 hash되지만 equal하지 않다.
- operation 비용은 전체 size가 아니라 실제 검사한 chain 길이로 기록한다.
연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.
