해시 테이블의 충돌·삭제·재해시
hash map을 평균 O(1) 암기표로 배우지 않고 key/equality/hash 계약을 먼저 봉인한 뒤 separate chaining, linear·quadratic·double probing, tombstone, load factor, resize·rehash, map/set 문제 패턴과 runtime·security 경계를 deterministic trace로 검증한다.
- 작은 수업
- 72개
- 바로 풀어볼 수 있는 문제
- 8 / 576개
- 직접 움직이는 그림
- 1 / 72개
- 나중에 다시 풀기
- 1일 · 7일 · 30일 뒤
모든 작은 수업이 같은 순서로 이어져요
보고, 해보고, 내 말로 설명하는 열두 단계
먼저 골라 보고, 직접 해보고, 생각과 달라진 첫 곳을 찾아요. 한 가지를 바꿔 다시 해본 뒤 새로운 생활 장면에서도 같은 생각을 쓸 수 있는지 확인해요.
- 01오늘 할 일왜 배우는지
- 02먼저 떠올리기이미 아는 것
- 03그림으로 보기어떻게 움직이나
- 04먼저 골라보기하기 전 생각
- 05직접 해보기무엇이 보이나
- 06막힌 곳 찾기처음 다른 곳
- 07하나 바꿔보기한 가지
- 08내가 만들기직접 완성
- 09다시 확인하기새 문제로 확인
- 10내 말로 설명한 문장 기록
- 11생활에 써보기새로운 장면
- 12나중에 다시1·7·30일
72개 작은 수업으로 나눴어요
배울 내용 골라 보기
각 작은 수업에는 그림, 자주 헷갈리는 곳, 막혔을 때 볼 도움과 여덟 연습 문제가 있어요. 먼저 그림으로 이해하고, 따라 해보고, 혼자 풀고, 내가 한 일을 남기는 순서로 열립니다.
- 01
학습 자료와 연습 문제 준비 중
map·set ADT와 hash table 표현 분리
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 02
학습 자료와 연습 문제 준비 중
key→hash→equality 판단 pipeline
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 03
학습 자료와 연습 문제 준비 중
hash output과 bucket index 매핑
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 04
학습 자료와 연습 문제 준비 중
equal key의 equal-hash 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 05
학습 자료와 연습 문제 준비 중
collision의 필연성과 보존 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 06
학습 자료와 연습 문제 준비 중
insert·find·update·erase 관찰 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 07
학습 자료와 연습 문제 준비 중
workload와 key distribution 봉인
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 08
학습 자료와 연습 문제 준비 중
chaining·open addressing 분류
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 09
학습 자료와 연습 문제 준비 중
계약·분포·경계 선택 gate
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 10
학습 자료와 연습 문제 준비 중
bucket chain 불변식
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 11
학습 자료와 연습 문제 준비 중
chaining insert와 duplicate policy
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 12
학습 자료와 연습 문제 준비 중
chaining lookup 경로
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 13
학습 자료와 연습 문제 준비 중
chaining erase의 link 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 14
학습 자료와 연습 문제 준비 중
chain 길이 분포와 lookup work
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 15
학습 자료와 연습 문제 준비 중
chaining load factor 모델
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 16
학습 자료와 연습 문제 준비 중
chaining resize와 rehash
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 17
학습 자료와 연습 문제 준비 중
chaining memory·locality trade-off
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 18
학습 자료와 연습 문제 준비 중
separate chaining 선택 실험실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 19
학습 자료와 연습 문제 준비 중
EMPTY·OCCUPIED·DELETED slot 상태기계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 20
학습 자료와 연습 문제 준비 중
linear probing 순환 trace
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 21
학습 자료와 연습 문제 준비 중
linear probing primary clustering
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 22
학습 자료와 연습 문제 준비 중
quadratic probing 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 23
학습 자료와 연습 문제 준비 중
double hashing step과 coverage
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 24
학습 자료와 연습 문제 준비 중
lookup termination과 table exhaustion
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 25
학습 자료와 연습 문제 준비 중
tombstone으로 probe chain 보존
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 26
학습 자료와 연습 문제 준비 중
tombstone 누적과 cleanup
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 27
학습 자료와 연습 문제 준비 중
open addressing 선택 실험실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 28
학습 자료와 연습 문제 준비 중
전략별 load factor 의미
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 29
학습 자료와 연습 문제 준비 중
resize threshold 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 30
학습 자료와 연습 문제 준비 중
rehash migration 보존성
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 31
학습 자료와 연습 문제 준비 중
resize의 상환 비용
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 32
학습 자료와 연습 문제 준비 중
expected·average·worst lookup 분리
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 33
학습 자료와 연습 문제 준비 중
hash quality와 key distribution evidence
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 34
학습 자료와 연습 문제 준비 중
adversarial collision과 HashDoS
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 35
학습 자료와 연습 문제 준비 중
randomized hashing의 방어 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 36
학습 자료와 연습 문제 준비 중
capacity·security shiproom
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 37
학습 자료와 연습 문제 준비 중
frequency map으로 counting
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 38
학습 자료와 연습 문제 준비 중
set membership과 중복 제거
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 39
학습 자료와 연습 문제 준비 중
complement lookup의 시간 방향
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 40
학습 자료와 연습 문제 준비 중
canonical key로 grouping
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 41
학습 자료와 연습 문제 준비 중
prefix sum frequency invariant
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 42
학습 자료와 연습 문제 준비 중
sliding window count map
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 43
학습 자료와 연습 문제 준비 중
graph visited·parent·distance map
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 44
학습 자료와 연습 문제 준비 중
memoization cache key 완전성
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 45
학습 자료와 연습 문제 준비 중
문제 패턴 선택 실험실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 46
학습 자료와 연습 문제 준비 중
Python 3.14.6 hashable·__eq__/__hash__
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 47
학습 자료와 연습 문제 준비 중
Python 3.14.6 dict 공개 semantics
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 48
학습 자료와 연습 문제 준비 중
C++23 unordered key equivalence
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 49
학습 자료와 연습 문제 준비 중
C++23 load·rehash·complexity 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 50
학습 자료와 연습 문제 준비 중
Java SE 26 Object.equals/hashCode
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 51
학습 자료와 연습 문제 준비 중
Java SE 26 HashMap 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 52
학습 자료와 연습 문제 준비 중
Java SE 26 HashSet와 iteration 비용
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 53
학습 자료와 연습 문제 준비 중
Rust stable HashMap의 Eq·Hash 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 54
학습 자료와 연습 문제 준비 중
Rust RandomState·Hasher 보안 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 55
학습 자료와 연습 문제 준비 중
독립 logical map/set oracle
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 56
학습 자료와 연습 문제 준비 중
hash table metamorphic property
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 57
학습 자료와 연습 문제 준비 중
통제된 collision fixture 설계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 58
학습 자료와 연습 문제 준비 중
tombstone mutant kill suite
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 59
학습 자료와 연습 문제 준비 중
rehash 전후 logical equivalence
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 60
학습 자료와 연습 문제 준비 중
mutable key 계약 mutation test
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 61
학습 자료와 연습 문제 준비 중
동시 수정과 compound operation 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 62
학습 자료와 연습 문제 준비 중
benchmark와 complexity claim 감사
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 63
학습 자료와 연습 문제 준비 중
공식 source-level claim ledger
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 64
대표 체험 수업
64상태 collision·probe·rehash Gold lab
8개 바로 풀 문제 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 1개
- 65
학습 자료와 연습 문제 준비 중
AI hash·O(1)·보안 주장 감사
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 66
학습 자료와 연습 문제 준비 중
독립 model·mutant 종합 감사
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 67
학습 자료와 연습 문제 준비 중
IOI 2025 hashing 제외 경계 bridge
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 68
학습 자료와 연습 문제 준비 중
Cambridge 9618 파일 hashing bridge
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 69
학습 자료와 연습 문제 준비 중
공개 platform에서 자체 hash 문제로 전이
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 70
학습 자료와 연습 문제 준비 중
네 언어 hash 계약 전이
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 71
학습 자료와 연습 문제 준비 중
1·7·30일 낯선 hash 문제 재설계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 72
학습 자료와 연습 문제 준비 중
증거 기반 hash-table 결정 memo
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
마지막에 혼자 해 보는 도전
합성 account-key index가 duplicate update, collision storm, delete-chain lookup, growth wave와 untrusted key burst를 처리하도록 collision policy와 capacity를 선택하고 64상태 lab, independent logical model과 language-source ledger로 release 판정을 방어한다.
실제와 닮은 상황
서비스 cache·compiler symbol table·dedup index·file lookup이 섞인 architecture review에서 equal/hash mismatch, collision overwrite, broken tombstone chain, incomplete rehash와 AI가 만든 always-O(1)·secure·thread-safe 단정을 독립 evidence로 감사한다.
AI가 제안한 hash/equality·collision policy·complexity·security 설명을 claim 단위로 표시하고, AI 사용 전에 사람이 봉인한 key contract·expected logical result와 AI 없이 통과한 미공개 collision/delete/rehash transfer evidence를 별도 제출한다.
마지막에 완성할 것
- key identity·hash/equality·duplicate/update·missing/delete 의미를 고정한 versioned hash-table contract
- workload 4×policy 4×scale 4의 64상태 expected path·bucket/slot state·equality/probe/rehash work와 final-only verdict matrix
- Python·C++·Java·Rust 공식 API의 documented·unknown·implementation·measurement 경계를 기록한 source-level ledger
- HS64 여덟 공개 자기검토 명세, independent model·mutant report와 accept·revise·reject human decision memo
다 했는지 확인하는 기준
- equal key는 같은 hash를 가져야 하지만 같은 hash가 equality는 아님을 duplicate·collision trace로 검증한다.
- chaining과 open addressing의 lookup termination·delete state를 분리하고 EMPTY·OCCUPIED·DELETED와 full-cycle을 확인한다.
- load factor·resize threshold·rehash migration·amortized work와 worst operation spike를 서로 다른 evidence로 제출한다.
- collision storm·mutable key·tombstone·incomplete rehash·hash-flood fixture를 independent logical oracle로 탐지한다.
- 64상태 추상 lab을 Python·C++·Java·Rust 내부 layout·portable 성능·security·thread 보장으로 표현하지 않는다.
- 외부 platform은 topic metadata로만 사용하고 문제문·코드·해설·test·solution을 복제하지 않으며 accepted·rating·badge를 숙련 gate로 쓰지 않는다.
- 모든 lesson은 review·noindex 상태를 유지하고 공식 범위 검토·전문가 review·다세대 파일럿·접근성 검증 전에는 published로 승격하지 않는다.
