학습 본문으로 건너뛰기
VAIRODE
배열과 list32번째 작은 수업
오늘은 질문 하나만 해결해요32 / 72

처음이어도 괜찮아요 · 그림부터 시작해요

empty·singleton·head·tail 전이

오늘의 질문

empty↔singleton↔multiple 전이에서 head, tail, size와 종료 link를 원자적인 post-state로 맞춘다. 이를 생략하면 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.에서도 이름과 평균적 인상만으로 그럴듯한 선택을 만들 수 있지만, 반증 가능한 sequence 결정은 남길 수 없습니다.

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

01 · 가볍게 시작하기

정답을 보기 전에 먼저 골라볼까요?

눈으로만 보고 답 하나를 떠올려 보세요연결 작업 목록·메시지 chain·undo history의 축소된 합성 sequence에서 empty·singleton·head·tail 전이 판단을 수행한다.al32 · empty/singleton/middle/end fixtures · fixed workload · bounded scale
  1. 1
    먼저 골라보기

    틀려도 괜찮아요. 지금 생각한 답 하나를 정해요.

  2. 2
    그림으로 확인하기

    움직이는 순서와 달라지는 곳만 천천히 찾아요.

  3. 3
    내 말로 다시 말하기

    한 문장으로 말해 보면 내가 이해한 곳을 확인할 수 있어요.

02 · 그림으로 보기

그림이 움직이는 순서를 직접 확인해요

empty·singleton·head·tail 전이의 관찰·추론·검증 지도empty·singleton·head·tail 전이에서 sequence 계약과 변이 전후 상태를 추적해 총비용과 observer 유효성을 판정하는 설명도01관찰3개 핵심 용어02추론4개 작동 규칙03검증4개 통과 기준SVG 설명 · empty·singleton·head·tail 전이의 owner·representation·mutation·cost·observer 판정을 한 흐름으로 분리한다.결과가 기준을 통과하지 못하면 관찰로 돌아가 최소 반례를 다시 수집합니다.
  1. 01관찰empty transition · singleton transition · endpoint consistency
  2. 02추론empty↔singleton↔multiple 전이에서 head, tail, size와 종료 link를 원자적인 post-state로 맞춘다. empty·singleton·head·tail 전이의 선택은 sequence semantics와 workload를 먼저 고정한 뒤 탐색·이동·할당·element cost를 합산한다. 세 cardinality 상태와 push/pop 방향을 망라한 transition table는 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.를 포함하고 언어·라이브러리·구현·측정 근거를 서로 다른 열에 남긴다. 연결 작업 목록·메시지 chain·undo history로 전이할 때 ownership·alias·observer lifetime과 memory budget을 다시 계산한다.
  3. 03검증empty·singleton·head·tail 전이의 순서·크기·소유·변이 계약을 AI 없이 먼저 고정한다. 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.를 empty·singleton·middle·end 중 해당하는 최소 반례로 재현한다. 탐색·이동·할당·element operation과 observer 유효성을 분리해 양끝 삽입·삭제의 모든 cardinality 전이를 구현하고 stale endpoint를 검사한다.을 완성한다. 세 cardinality 상태와 push/pop 방향을 망라한 transition table와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.
empty·singleton·head·tail 전이의 owner·representation·mutation·cost·observer 판정을 한 흐름으로 분리한다.empty↔singleton↔multiple 전이에서 head, tail, size와 종료 link를 원자적인 post-state로 맞춘다. → 양끝 삽입·삭제의 모든 cardinality 전이를 구현하고 stale endpoint를 검사한다. → 세 cardinality 상태와 push/pop 방향을 망라한 transition table; failure probe: 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.현재 화면: 정적 요약 지도 · 읽는 방법: 크기·용량·편집 위치·소유 관계 중 하나를 바꾸면 상태·비용·observer 카드가 어떻게 달라지는지 비교한다. · 모션 축소 설계: 자동 이동과 큰 변형 없이 선택 상태·선 굵기·텍스트·표로 같은 정보를 즉시 표시한다.

처음 보는 말도 책 읽듯 풀어봐요

이 수업은 쉬운 뜻과 생활 예를 아직 함께 준비하지 못했어요. 설명 없는 정확한 이름은 먼저 보여 주지 않을게요.

그림에서 찾을 쉬운 규칙

  1. 01empty↔singleton↔multiple 전이에서 head, tail, size와 종료 link를 원자적인 post-state로 맞춘다.
  2. 02empty·singleton·head·tail 전이의 선택은 sequence semantics와 workload를 먼저 고정한 뒤 탐색·이동·할당·element cost를 합산한다.
  3. 03세 cardinality 상태와 push/pop 방향을 망라한 transition table는 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.를 포함하고 언어·라이브러리·구현·측정 근거를 서로 다른 열에 남긴다.
  4. 04연결 작업 목록·메시지 chain·undo history로 전이할 때 ownership·alias·observer lifetime과 memory budget을 다시 계산한다.

03 · 같이 풀어보기

한 단계씩 따라가면 어렵지 않아요

연결 작업 목록·메시지 chain·undo history의 축소된 합성 sequence에서 empty·singleton·head·tail 전이 판단을 수행한다.

함께 볼 작은 예시al32 · empty/singleton/middle/end fixtures · fixed workload · bounded scale
내 말로 8자 이상 적어요 · 0 / 240

04 · 이제 내가 해볼 차례

여기까지 오면 이런 일을 할 수 있어요

양끝 삽입·삭제의 모든 cardinality 전이를 구현하고 stale endpoint를 검사한다.을 수행하고 세 cardinality 상태와 push/pop 방향을 망라한 transition table로 의미·비용·유효성 계약을 독립 검증한다.

  • empty·singleton·head·tail 전이의 순서·크기·소유·변이 계약을 AI 없이 먼저 고정한다.
  • 마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.를 empty·singleton·middle·end 중 해당하는 최소 반례로 재현한다.
  • 탐색·이동·할당·element operation과 observer 유효성을 분리해 양끝 삽입·삭제의 모든 cardinality 전이를 구현하고 stale endpoint를 검사한다.을 완성한다.
  • 세 cardinality 상태와 push/pop 방향을 망라한 transition table와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.

05 · 자주 헷갈리는 지점

틀린 답도 이유를 알면 다음에는 맞힐 수 있어요

01empty·singleton·head·tail 전이에서는 컨테이너 이름만 알면 저장 표현과 비용도 확정된다.

한 번 더 생각해 볼 질문연결 작업 목록·메시지 chain·undo history에서 이름은 비슷하지만 계약이 다른 두 후보를 제시하세요.

이렇게 고쳐 생각해요empty↔singleton↔multiple 전이에서 head, tail, size와 종료 link를 원자적인 post-state로 맞춘다.을 먼저 고정하고 empty transition의 보장 수준을 언어·라이브러리·구현·측정으로 분리해야 한다.

02singleton transition 한 단계가 상수 시간이면 empty·singleton·head·tail 전이의 전체 workload도 O(1)이다.

한 번 더 생각해 볼 질문마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.에서 빠진 선행 또는 후속 비용을 하나 이상 찾으세요.

이렇게 고쳐 생각해요세 cardinality 상태와 push/pop 방향을 망라한 transition table에 위치 탐색·원소 이동·할당·observer 복구와 반복 횟수를 포함해야 총비용이 된다.

03AI가 만든 예제와 실행 결과가 일치하면 empty·singleton·head·tail 전이 계약은 모든 언어에서 증명된다.

한 번 더 생각해 볼 질문마지막 node 삭제 후 tail이 해제된 node를 가리키거나 첫 삽입에서 head만 설정한다.를 드러내는 미공개 경계와 사람이 확인할 oracle을 쓰세요.

이렇게 고쳐 생각해요같은 생성 가정을 공유한 예제는 독립 oracle이 아니며 endpoint consistency 경계와 공식 근거 수준을 별도로 검증해야 한다.

06 · 더 궁금할 때만 보기

선생님과 검토자를 위한 믿을 만한 원문

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.