트리·균형 구조·힙의 불변식과 선택
트리와 힙을 그림 암기나 library call로 배우지 않고 rooted-tree·BST·balance·heap·comparator 계약을 먼저 봉인한 뒤 traversal, search·insert·delete, rotation, heapify, priority operation, ordered/range 구조와 언어별 경계를 deterministic state 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
학습 자료와 연습 문제 준비 중
Tree ADT·forest와 저장 표현 분리
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 02
학습 자료와 연습 문제 준비 중
node identity·payload·root·parent·child·edge·path 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 03
학습 자료와 연습 문제 준비 중
ordered/unordered·N-ary/binary·full/complete/perfect 형상 분류
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 04
학습 자료와 연습 문제 준비 중
depth·height·level·subtree와 node-edge-count 불변식
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 05
학습 자료와 연습 문제 준비 중
preorder enter-first traversal
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 06
학습 자료와 연습 문제 준비 중
inorder의 binary-only 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 07
학습 자료와 연습 문제 준비 중
postorder exit-first traversal
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 08
학습 자료와 연습 문제 준비 중
level-order와 FIFO frontier
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 09
학습 자료와 연습 문제 준비 중
재귀·명시적 stack/queue traversal 선택 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 10
학습 자료와 연습 문제 준비 중
BST 전역 순서와 duplicate·comparator 정책
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 11
학습 자료와 연습 문제 준비 중
search와 lower/upper bound 경로
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 12
학습 자료와 연습 문제 준비 중
insert 뒤 size·height·reachability
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 13
학습 자료와 연습 문제 준비 중
min·max·predecessor·successor
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 14
학습 자료와 연습 문제 준비 중
leaf 삭제
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 15
학습 자료와 연습 문제 준비 중
한 자식 node 삭제와 child promotion
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 16
학습 자료와 연습 문제 준비 중
두 자식 node의 successor/predecessor transplant
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 17
학습 자료와 연습 문제 준비 중
local-child 검사로 부족한 전역 bound 검증
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 18
학습 자료와 연습 문제 준비 중
monotone skew·높이 예산·삭제 연속성 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 19
학습 자료와 연습 문제 준비 중
height balance·balance factor·rotation 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 20
학습 자료와 연습 문제 준비 중
LL·RR single rotation과 inorder 보존
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 21
학습 자료와 연습 문제 준비 중
LR·RL double rotation
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 22
학습 자료와 연습 문제 준비 중
AVL insertion repair
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 23
학습 자료와 연습 문제 준비 중
AVL deletion repair와 ancestor 재계산
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 24
학습 자료와 연습 문제 준비 중
subtree-size augmentation과 rank·select
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 25
학습 자료와 연습 문제 준비 중
red-black invariant·black height·2-3-4 대응 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 26
학습 자료와 연습 문제 준비 중
B-tree·B+ tree split·promotion·leaf-link·external-memory 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 27
학습 자료와 연습 문제 준비 중
AVL·red-black·multiway 구조 claim 선택 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 28
학습 자료와 연습 문제 준비 중
Priority Queue ADT와 heap 표현 분리
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 29
학습 자료와 연습 문제 준비 중
complete binary shape와 parent/child array index
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 30
학습 자료와 연습 문제 준비 중
min/max heap invariant와 sorted-array 오해
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 31
학습 자료와 연습 문제 준비 중
insert·sift-up
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 32
학습 자료와 연습 문제 준비 중
extract-root·last swap·sift-down
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 33
학습 자료와 연습 문제 준비 중
bottom-up heapify와 O(n) work 증명
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 34
학습 자료와 연습 문제 준비 중
HeapSort·동률·comparator·안정성 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 35
학습 자료와 연습 문제 준비 중
decrease/increase-key·handle index·lazy stale-entry
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 36
학습 자료와 연습 문제 준비 중
top-k·k-way merge·scheduler heap 선택 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 37
학습 자료와 연습 문제 준비 중
trie의 edge symbol·terminal·prefix 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 38
학습 자료와 연습 문제 준비 중
trie insert·exact search·prefix·delete pruning
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 39
학습 자료와 연습 문제 준비 중
Fenwick tree의 lowbit responsibility range
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 40
학습 자료와 연습 문제 준비 중
Fenwick point update·prefix sum·range query
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 41
학습 자료와 연습 문제 준비 중
segment tree build와 associative combine·identity
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 42
학습 자료와 연습 문제 준비 중
segment query의 disjoint interval decomposition
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 43
학습 자료와 연습 문제 준비 중
segment point update와 ancestor recomputation
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 44
학습 자료와 연습 문제 준비 중
range update·lazy tag·push boundary
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 45
학습 자료와 연습 문제 준비 중
trie·Fenwick·segment 선택과 고급 제외 경계 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 46
학습 자료와 연습 문제 준비 중
Python 3.14.6 heapq min/max 공개 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 47
학습 자료와 연습 문제 준비 중
Python stable priority·custom tree·bisect 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 48
학습 자료와 연습 문제 준비 중
C++23 priority_queue·heap algorithms
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 49
학습 자료와 연습 문제 준비 중
C++23 ordered associative container 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 50
학습 자료와 연습 문제 준비 중
Java SE 26 PriorityQueue 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 51
학습 자료와 연습 문제 준비 중
Java SE 26 TreeMap·TreeSet 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 52
학습 자료와 연습 문제 준비 중
Rust stable BinaryHeap 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 53
학습 자료와 연습 문제 준비 중
Rust stable BTreeMap·BTreeSet 계약
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 54
학습 자료와 연습 문제 준비 중
교차 언어 comparator·order·mutation claim ledger
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 55
학습 자료와 연습 문제 준비 중
filesystem·DOM hierarchy 직렬화와 rollup
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 56
학습 자료와 연습 문제 준비 중
expression·parse tree evaluation과 arity failure
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 57
학습 자료와 연습 문제 준비 중
leaderboard range·rank·select index
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 58
학습 자료와 연습 문제 준비 중
autocomplete trie와 Unicode·normalization 경계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 59
학습 자료와 연습 문제 준비 중
streaming top-k·k-way merge
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 60
학습 자료와 연습 문제 준비 중
stable deadline scheduler와 priority update
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 61
학습 자료와 연습 문제 준비 중
subtree DP·include/exclude·tree diameter
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 62
학습 자료와 연습 문제 준비 중
LCA baseline과 binary lifting
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 63
학습 자료와 연습 문제 준비 중
Euler flatten·Fenwick/segment subtree query 통합 감사실
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 64
대표 체험 수업
64상태 tree·heap policy Gold 감사실
8개 바로 풀 문제 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 1개
- 65
학습 자료와 연습 문제 준비 중
AI tree·heap correctness·complexity 주장 감사
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 66
학습 자료와 연습 문제 준비 중
독립 model·metamorphic relation·mutant 종합 감사
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 67
학습 자료와 연습 문제 준비 중
IOI 2025 tree·heap category와 제외 경계 bridge
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 68
학습 자료와 연습 문제 준비 중
Cambridge source와 Q-Net certification 경계 bridge
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 69
학습 자료와 연습 문제 준비 중
KOI·ICPC 규칙과 공개 judge 무복제 전이
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 70
학습 자료와 연습 문제 준비 중
네 언어 tree·heap 계약 전이
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 71
학습 자료와 연습 문제 준비 중
1·7·30일 낯선 tree·heap 구조 선택 재설계
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
- 72
학습 자료와 연습 문제 준비 중
증거 기반 tree·heap ADR·잔여 위험 memo
8개 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1개
마지막에 혼자 해 보는 도전
합성 scheduler·ordered index·range query·top-k workload에 맞춰 sorted list·BST·balanced tree·heap·language collection을 선택하고 64상태 policy lab, independent oracle와 official-source ledger로 release 판정을 방어한다.
실제와 닮은 상황
서비스 scheduler·compiler symbol index·ranking queue·analytics range index가 섞인 architecture review에서 broken invariant, wrong traversal, rotation subtree loss, invalid comparator, stale priority와 AI가 만든 always-logarithmic·sorted-iteration·thread-safe 단정을 독립 evidence로 감사한다.
AI가 제안한 tree/heap invariant·traversal·rotation·comparator·complexity·runtime 설명을 claim 단위로 표시하고, AI 사용 전에 사람이 봉인한 expected state·operation result와 AI 없이 통과한 미공개 skew/tie/delete/heapify transfer evidence를 별도 제출한다.
마지막에 완성할 것
- node identity·root/parent/child·ordering·duplicate·priority·mutation 의미를 고정한 versioned tree/heap contract
- workload 4×policy 4×scale 4의 64상태 expected path·mutation·comparison·memory-shape·final-only verdict matrix
- Python·C++·Java·Rust 공식 API의 documented·unknown·implementation·measurement 경계를 기록한 source-level ledger
- TH64 여덟 공개 자기검토 명세, independent model·mutant report와 accept·revise·reject human decision memo
다 했는지 확인하는 기준
- binary tree·BST·heap을 구분하고 각 ordering·shape·priority invariant를 counterexample state로 검증한다.
- pre/in/post/BFS traversal, BST search·insert·delete와 rotation의 방문 순서·link·subtree 보존을 deterministic trace로 제출한다.
- sift-up·sift-down·linear heapify·HeapSort와 stable tie 비보장을 operation별 comparison·state evidence로 분리한다.
- balanced·multiway·augmented·range 구조는 직접 학습 범위와 IOI ✓q·✓p·✗ bridge를 구분하고 제외 구조를 mastery로 주장하지 않는다.
- Python bisect를 tree로, C++ std::map을 표준 강제 Red-Black 구현으로, Java PriorityQueue iterator를 sorted로, Rust BinaryHeap push를 고정 복잡도로 표현하지 않는다.
- Q-Net·KOI·ICPC 공식 페이지는 dated scope boundary로만 사용하고 세부 출제·합격·본선·수상·순위·성과를 주장하지 않는다.
- 모든 lesson은 review·noindex 상태를 유지하고 공식 범위 검토·전문가 review·다세대 파일럿·접근성 검증 전에는 published로 승격하지 않는다.
