학습 본문으로 건너뛰기
VAIRODE
tree와 heap64번째 작은 수업
오늘은 질문 하나만 해결해요64 / 72

도움 없이 한 번 더 풀어보기

64상태 tree·heap policy Gold 감사실

오늘의 질문

hierarchy-rollup·ordered-delete-range·stable-deadline-drain·rank-select-burst workload를 compact-parent-array·plain-bst-successor·order-statistic-avl·stable-indexed-min-heap policy와 n7·n63·n511·n4095 scale에서 final-only gate로 비교한다. 이를 생략하면 semantic contract가 다른 policy를 빠른 한 state나 같은 binary 그림만으로 승인하고 pre-final phase에 verdict를 노출한다.에서도 작은 그림은 맞아 보일 수 있지만 skew·delete·rotation·tie·metadata 경계에서 재현 가능한 판단은 남지 않습니다.

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.

01 · 혼자 확인해요

연습한 문제를 다시 풀며 혼자 확인하기

지금은 방금 연습한 문제를 다시 보는 시간이에요.아직 “완전히 익혔다”고 기록하지 않아요. 나중에 모양이 다른 문제도 도움 없이 풀면 그때 다시 확인할 수 있어요.

답과 과정 확인
80% 이상
내 말로 설명
80% 이상
막힌 곳 고치기
80% 이상
다른 문제에 써보기
80% 이상
스스로 확인하며 작성 중인 답0 / 4
  1. 01

    먼저 생각하기 · 기초

    th64 predict · 64상태 tree·heap policy Gold 감사실: “semantic contract가 다른 policy를 빠른 한 state나 같은 binary 그림만으로 승인하고 pre-final phase에 verdict를 노출한다.” 조건에서 방문 순서·link/index·height/priority·반환값을 실행 전에 봉인한다.

    상황

    root A의 left B, right C; B의 left D, right E; C의 left F, right G인 ordered binary tree를 재귀 DFS와 queue BFS로 순회한다.

    문제

    preorder·inorder·postorder·level-order 결과, recursive DFS의 최대 active frame 수와 BFS의 최대 queue 길이를 예측하세요. empty·singleton 결과와 inorder를 N-ary tree에 기계 적용할 수 없는 이유도 적으세요.

    제공 자료
    • preorder는 node를 두 child보다 먼저, inorder는 left와 right 사이, postorder는 두 child 뒤에 방문한다.
    • level-order는 root를 enqueue하고 dequeue한 node의 left, right를 그 순서로 enqueue한다.
    • root depth는 0, node 단위 height는 leaf 0으로 봉인한다.
    • active recursive frame에는 현재 node frame을 포함하고 BFS queue에는 아직 dequeue되지 않은 node만 센다.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    움직임과 비교
  2. 02

    내 말로 설명하기 · 익힌 것을 써보기

    th64 explain · 64상태 tree·heap policy Gold 감사실: hierarchy-rollup·ordered-delete-range·stable-deadline-drain·rank-select-burst workload를 compact-parent-array·plain-bst-successor·order-statistic-avl·stable-indexed-min-heap policy와 n7·n63·n511·n4095 scale에서 final-only gate로 비교한다.이 필요한 이유와 64-state×4-phase topology·order·rank·priority·height·work·space ledger와 final-only verdict receipt가 보장하지 못하는 runtime·concurrency·competition 범위를 설명한다.

    상황

    빈 BST에 10,20,30,40,50,60,70을 순서대로 삽입하면 right chain이 된다. 같은 key set을 AVL insertion policy로 유지할 때 rotation 전후를 비교한다.

    문제

    plain BST가 왜 height 6이 되는지, local-child validation만으로 height를 보장할 수 없는 이유, AVL rotation이 inorder를 보존하면서 balance를 복원하는 이유를 설명하세요. 특정 library가 AVL 또는 Red-Black이라고 추론하지 마세요.

    제공 자료
    • plain BST는 insertion order를 그대로 따르며 별도 rebalance operation이 없다.
    • AVL node의 balance factor는 left-height minus right-height이고 허용 범위는 -1..1이다.
    • rotation은 subtree root와 세 ordered key interval의 연결을 바꾸지만 key comparator는 바꾸지 않는다.
    • root depth는 0이며 seven-node chain의 edge-count height는 6이다.
    • 추상 AVL policy의 height 결과를 특정 언어 container의 구현 보장으로 복사하지 않는다.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    설명 기준과 비교
  3. 03

    틀린 곳 고치기 · 익힌 것을 써보기

    th64 debug · 64상태 tree·heap policy Gold 감사실: AI가 만든 구현에 “semantic contract가 다른 policy를 빠른 한 state나 같은 binary 그림만으로 승인하고 pre-final phase에 verdict를 노출한다.”를 주입하고 최초 잘못된 structure state transition만 수정한다.

    상황

    order-statistic AVL의 각 node는 subtree size를 저장한다. left rotation 뒤 pointer와 height는 갱신됐지만 old root와 new root의 size를 rotation 전 값 그대로 두어 rank(35)와 select(4)가 틀린다.

    문제

    최초 stale size를 찾고 local rotation subtree의 child sizes에서 bottom-up으로 고치세요. 수정 전후 rank·select trace, independent inorder oracle, 재발 방지 invariant assertion을 제출하세요.

    제공 자료
    • size(null)=0이고 size(node)=1+size(left)+size(right)다.
    • rank(k)는 k보다 작은 key 수이고 select(r)는 0-based r번째 key다.
    • rotation 뒤 lower node의 size를 먼저, upper node의 size를 다음에 계산한다.
    • inorder key sequence는 rotation 전후 같아야 하지만 inorder 일치만으로 stored size freshness는 증명되지 않는다.
    • AI가 생성한 size expectation과 같은 함수의 결과를 독립 oracle로 사용하지 않는다.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    답과 설명 함께 비교
  4. 04

    새 문제에 써보기 · 새 문제

    th64 transfer · 64상태 tree·heap policy Gold 감사실: architecture shiproom·AI-generated index review로 판단을 옮겨 보존할 invariant와 달라지는 API·cost·ownership 경계를 방어한다.

    상황

    AI가 네 workload 모두에 하나의 HybridTreeHeap을 추천했다. 구현은 local-child BST validation, key-copy delete, stale subtree size, equal-priority arbitrary tie, fixed O(log n)과 thread-safe 주장을 함께 포함한다.

    문제

    AI claim inventory를 만들고 P01~P07의 공개 evidence로 각 주장을 재현하세요. 최소 수정·대체 policy, independent AI-off oracle, accept·revise·reject 판정과 보장하지 않는 범위를 64-state decision memo로 작성하세요.

    제공 자료
    • 64 selection은 hierarchy-rollup·ordered-delete-range·stable-deadline-drain·rank-select-burst workload × compact-parent-array·plain-bst-successor·order-statistic-avl·stable-indexed-min-heap policy × n7·n63·n511·n4095 scale이며 각 selection은 네 phase를 가진다.
    • SEAL_STRUCTURE_CONTRACT → MAP_TOPOLOGY_AUGMENTATION → REPLAY_MUTATION_QUERY → AUDIT_POLICY_FIT 순서다. pre-final phase에는 verdict·outcome·pass/fail을 노출하지 않고 final gate에서만 TOPOLOGY_CONTRACT_BREACH → ORDER_CONTRACT_BREACH → RANK_METADATA_BREACH → STABLE_PRIORITY_BREACH → HEIGHT_BUDGET_BREACH → WORK_BUDGET_BREACH → SPACE_BUDGET_BREACH → STRUCTURE_POLICY_FIT 순서로 판정한다.
    • compact-parent-array, plain-bst-successor, order-statistic-avl, stable-indexed-min-heap은 서로 다른 capability와 budget을 가진 추상 policy다.
    • AI 구현과 같은 응답에서 만든 expected traversal·tree·heap state는 독립 oracle이 아니다.
    • 이 공개 specification은 review 상태의 self-review material이며 hidden tests, private seed와 server-authoritative 판정값을 포함하지 않는다.

    연습과 같은 문제를 다시 풀어 보는 시간이에요. 힌트 없이 먼저 생각해 보세요. 지금 적은 답은 바로 합격으로 기록되지 않아요.

    설명 기준과 비교

4개 답이 남았습니다.

02 · 나중에 한 번 더

모양이 다른 문제에서도 같은 생각을 써봐요

64상태 tree·heap policy Gold 감사실의 미공개 node stream에서 contract·path·mutation·height/work/space·source claim을 독립 재구성하는 능력의 미공개 empty·singleton·duplicate·skew·broken-link·comparator-tie·resize·adversarial fixture에서 AI 없이 invariant·trace·cost·source-level verdict를 작성하고 deterministic replay evidence를 제출한다.

검증 과제

AI가 제안한 64상태 tree·heap policy Gold 감사실 분석에 binary-tree=BST=heap 혼동, 잘못된 traversal, 끊어진 parent link, rotation subtree 유실, unstable tie 단정, std::map Red-Black 강제, Python bisect tree 단정, Java PriorityQueue sorted iterator 단정, Rust push fixed-complexity 단정 중 하나 이상을 심어 독립 model과 공식 근거로 찾아 수정한다.