처음이어도 괜찮아요 · 그림부터 시작해요
subtree-size augmentation과 rank· select
각 node의 subtree size를 모든 insert·delete·rotation 뒤 recurrence로 갱신해 rank와 select가 global order와 일치하게 한다. 이를 생략하면 pointer와 height만 고치고 size를 rotation 전 값으로 남겨 일부 rank path를 틀리게 한다.에서도 작은 그림은 맞아 보일 수 있지만 skew·delete·rotation·tie·metadata 경계에서 재현 가능한 판단은 남지 않습니다.
아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.01 · 가볍게 시작하기
정답을 보기 전에 먼저 골라볼까요?
th24 · 7-node public topology · deterministic key/priority order · empty/skew/tie boundary- 1먼저 골라보기
틀려도 괜찮아요. 지금 생각한 답 하나를 정해요.
- 2그림으로 확인하기
움직이는 순서와 달라지는 곳만 천천히 찾아요.
- 3내 말로 다시 말하기
한 문장으로 말해 보면 내가 이해한 곳을 확인할 수 있어요.
02 · 그림으로 보기
그림이 움직이는 순서를 직접 확인해요
- 01관찰subtree-size augmentation · rank · select
- 02추론각 node의 subtree size를 모든 insert·delete·rotation 뒤 recurrence로 갱신해 rank와 select가 global order와 일치하게 한다. subtree-size augmentation과 rank·select의 correctness는 reachable node와 edge/index 관계, ordering·priority·augmentation invariant가 operation 전후 보존되는지로 판정한다. stored size·recomputed size·rank/select path·sorted-sequence oracle에는 방문·comparison·link/swap·metadata write·size/height·result를 operation 순서대로 남긴다. leaderboard percentile·ordered pagination로 전이할 때 comparator, duplicate/tie, ownership·invalidation·concurrency와 source claim을 새로 감사한다.
- 03검증subtree-size augmentation과 rank·select의 node identity, root/edge, comparator·priority와 observable operation 계약을 AI 없이 먼저 고정한다. pointer와 height만 고치고 size를 rotation 전 값으로 남겨 일부 rank path를 틀리게 한다.를 empty·singleton·duplicate·skew·tie 중 해당하는 최소 반례로 재현한다. logical ADT state와 node/array 표현, worst·amortized·observed 비용을 구분한다. stored size·recomputed size·rank/select path·sorted-sequence oracle와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.
처음 보는 말도 책 읽듯 풀어봐요
이 수업은 쉬운 뜻과 생활 예를 아직 함께 준비하지 못했어요. 설명 없는 정확한 이름은 먼저 보여 주지 않을게요.
그림에서 찾을 쉬운 규칙
- 01각 node의 subtree size를 모든 insert·delete·rotation 뒤 recurrence로 갱신해 rank와 select가 global order와 일치하게 한다.
- 02subtree-size augmentation과 rank·select의 correctness는 reachable node와 edge/index 관계, ordering·priority·augmentation invariant가 operation 전후 보존되는지로 판정한다.
- 03stored size·recomputed size·rank/select path·sorted-sequence oracle에는 방문·comparison·link/swap·metadata write·size/height·result를 operation 순서대로 남긴다.
- 04leaderboard percentile·ordered pagination로 전이할 때 comparator, duplicate/tie, ownership·invalidation·concurrency와 source claim을 새로 감사한다.
03 · 같이 풀어보기
한 단계씩 따라가면 어렵지 않아요
leaderboard percentile·ordered pagination의 축소된 합성 node operation stream에서 subtree-size augmentation과 rank·select 판단을 수행한다.
th24 · 7-node public topology · deterministic key/priority order · empty/skew/tie boundary04 · 이제 내가 해볼 차례
여기까지 오면 이런 일을 할 수 있어요
duplicate policy가 봉인된 order-statistic AVL에서 rank·select를 구현하고 mutant를 죽인다.을 수행하고 stored size·recomputed size·rank/select path·sorted-sequence oracle로 topology·order/priority·mutation·cost·claim level을 독립 검증한다.
- subtree-size augmentation과 rank·select의 node identity, root/edge, comparator·priority와 observable operation 계약을 AI 없이 먼저 고정한다.
- pointer와 height만 고치고 size를 rotation 전 값으로 남겨 일부 rank path를 틀리게 한다.를 empty·singleton·duplicate·skew·tie 중 해당하는 최소 반례로 재현한다.
- logical ADT state와 node/array 표현, worst·amortized·observed 비용을 구분한다.
- stored size·recomputed size·rank/select path·sorted-sequence oracle와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.
05 · 자주 헷갈리는 지점
틀린 답도 이유를 알면 다음에는 맞힐 수 있어요
01subtree-size augmentation과 rank·select에서는 binary 모양만 같으면 tree·BST·heap·ordered index가 같은 operation과 순서를 보장한다.
한 번 더 생각해 볼 질문leaderboard percentile·ordered pagination에서 같은 node payload를 갖지만 contract가 다른 두 topology를 그리세요.
이렇게 고쳐 생각해요각 node의 subtree size를 모든 insert·delete·rotation 뒤 recurrence로 갱신해 rank와 select가 global order와 일치하게 한다.처럼 shape, global order, priority와 augmentation은 서로 다른 invariant다.
02rank의 작은 예제가 빠르면 모든 scale·key order·runtime에서 같은 complexity와 layout이 보장된다.
한 번 더 생각해 볼 질문pointer와 height만 고치고 size를 rotation 전 값으로 남겨 일부 rank path를 틀리게 한다.가 방문량이나 height를 늘리는 최소 node family를 제시하세요.
이렇게 고쳐 생각해요stored size·recomputed size·rank/select path·sorted-sequence oracle에 height·comparison·work·logical space와 source의 qualifier를 분리해야 한다.
03AI 구현과 AI가 만든 expected tree가 일치하면 subtree-size augmentation과 rank·select의 correctness·성능·thread safety가 독립 검증된다.
한 번 더 생각해 볼 질문pointer와 height만 고치고 size를 rotation 전 값으로 남겨 일부 rank path를 틀리게 한다.를 드러내는 AI-off fixture와 사람이 계산할 oracle을 쓰세요.
이렇게 고쳐 생각해요같은 생성 가정을 공유한 결과는 oracle이 아니며 edge set·traversal·sorted sequence·reference model을 별도로 확인해야 한다.
06 · 더 궁금할 때만 보기
선생님과 검토자를 위한 믿을 만한 원문
원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.
AL CS Core가 직접 열거한 binary·N-ary·search·balanced tree, heap, AVL·Red-Black·2-3·B-tree, depth/breadth/best-first traversal, backtracking, HeapSort, Huffman coding과 관련 complexity·invariant 범위만 정렬한다. 언어 API·concurrency·private layout·AI 감사·production ADR, CS2023 전체나 accreditation을 주장하지 않는다.
문서의 category를 보존해 ✓q tree terminology·rooted tree·traversal strategy·binary heap·statically balanced BST·augmented BST·tries, ✓p center·centroid·HeapSort·balanced BST·static LCA·HLD/centroid decomposition·persistent data structure를 세분 정렬한다. ✗ binomial/Fibonacci heap, 2D tree-like structure, fat-node 등 복잡한 persistence, link/cut tree·동적 graph 구조는 negative boundary로만 사용하며 출제·선발·메달·성과를 주장하지 않는다.
