처음이어도 괜찮아요 · 그림부터 시작해요
재귀 대신 직접 쌓아 보기
다음에 볼 곳을 줄이나 쌓아 둔 메모로 관리하면, 빠뜨리지 않고 길을 찾을 수 있어요.
먼저 떠올릴 생활 장면미로의 갈림길마다 다음에 갈 곳을 메모하면 길을 빠뜨리지 않을 수 있어요. 어떤 곳을 먼저 메모해야 할까요?- 1짧은 이야기 읽기
- 2내 생각 하나 고르기
- 3네 걸음 같이 보기
- 4내 말로 한 줄 적기
02 · 낯선 말부터 풀기
정확한 이름보다 먼저 쉬운 뜻을 읽어요
처음 보는 말도 책 읽듯 풀어봐요
이 수업은 쉬운 뜻과 생활 예를 아직 함께 준비하지 못했어요. 설명 없는 정확한 이름은 먼저 보여 주지 않을게요.
그림에서 찾을 쉬운 규칙
- 01점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
- 02어디에서 시작할지 표시하고, 다음에 볼 곳을 하나만 골라요.
- 03한 칸 움직인 뒤 달라진 점이나 숫자에 표시해요.
- 04처음 생각과 다르면, 달라진 첫 지점을 찾아 내 말로 설명해요.
03 · 그림으로 보기
점과 선이 움직이는 순서를 직접 확인해요
- 01오늘의 장면깊은 관계망·재귀 한도 없는 탐색·debug replay를 축소한 합성 graph에서 재귀 대신 직접 쌓아 보기(iterative DFS) 판단을 수행한다.
- 02첫 걸음점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
- 03결과 열기내 답을 먼저 적은 뒤 결과를 열어 봐요.
04 · 책처럼 천천히 되짚기
방금 한 일을 한 줄씩 다시 읽어요
깊은 관계망·재귀 한도 없는 탐색·debug replay를 축소한 합성 graph에서 재귀 대신 직접 쌓아 보기(iterative DFS) 판단을 수행한다.
gr25 · 8-vertex public graph · deterministic neighbor/edge order · disconnected/cycle/tie boundary05 · 이제 내가 해볼 차례
여기까지 오면 이런 일을 할 수 있어요
다음에 볼 곳을 줄이나 쌓아 둔 메모로 관리하면, 빠뜨리지 않고 길을 찾을 수 있어요.
- 점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
- 어디에서 시작할지 표시하고, 다음에 볼 곳을 하나만 골라요.
- 한 칸 움직인 뒤 달라진 점이나 숫자에 표시해요.
- 처음 생각과 다르면, 달라진 첫 지점을 찾아 내 말로 설명해요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.
같은 그림을 재귀와 stack으로 따라가며 이웃을 거꾸로 push해야 같은 방문이 되는 case를 찾는다.을 수행하고 stack push/pop·neighbor order·visited·recursive comparison 표로 graph model·frontier/state·invariant·work/space·claim level을 독립 검증한다.
- 재귀 대신 직접 쌓아 보기(iterative DFS)의 vertex identity, edge direction/weight, duplicate/self-loop와 observable result 계약을 AI 없이 먼저 고정한다.
- 이웃을 같은 순서로 push하면 LIFO 때문에 오히려 반대 방문이 되는 점을 놓치거나 mark-on-pop 중복을 숨긴다.를 disconnected·cycle·tie·unreachable·adversarial scale 중 해당하는 최소 반례로 재현한다.
- logical graph와 edge-list·matrix·adjacency·implicit-state 표현, worst-case와 observed work를 구분한다.
- stack push/pop·neighbor order·visited·recursive comparison 표와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.
06 · 자주 헷갈리는 지점
틀린 답도 이유를 알면 다음에는 맞힐 수 있어요
처음부터 모두 맞힐 필요는 없어요.괜찮아요. 전부 다시 하지 말고, 점이나 선을 다르게 본 첫 단계만 찾아보세요. 바로 앞 단계부터 다시 이어가면 돼요.
헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01재귀 대신 직접 쌓아 보기(iterative DFS)에서는 그림의 선과 점이 비슷하면 direction·weight·parallel edge·self-loop·state semantics도 같다.
한 번 더 생각해 볼 질문깊은 관계망·재귀 한도 없는 탐색·debug replay에서 모양은 같지만 정답이 달라지는 두 graph contract를 만드세요.
이렇게 고쳐 생각해요반복 DFS(iterative DFS)는 stack에 이웃을 넣는 순서와 방문 표시 시점을 봉인해 recursive DFS와 같은 순서 또는 다른 valid 순서를 의도적으로 만든다.처럼 graph drawing보다 vertex identity와 edge contract를 먼저 봉인해야 한다.
02작은 입력에서 쌓기 순서(push order) 결과가 맞으면 모든 topology·scale에서 같은 correctness와 complexity가 보장된다.
한 번 더 생각해 볼 질문이웃을 같은 순서로 push하면 LIFO 때문에 오히려 반대 방문이 되는 점을 놓치거나 mark-on-pop 중복을 숨긴다.가 방문·relaxation·memory를 늘리거나 정답을 바꾸는 최소 graph family를 제시하세요.
이렇게 고쳐 생각해요stack push/pop·neighbor order·visited·recursive comparison 표에 frontier·edge scan·state count·work/space와 source qualifier를 분리해야 한다.
03AI 구현과 AI가 만든 expected trace가 일치하면 재귀 대신 직접 쌓아 보기(iterative DFS)의 correctness·성능·judge 적합성이 독립 검증된다.
한 번 더 생각해 볼 질문이웃을 같은 순서로 push하면 LIFO 때문에 오히려 반대 방문이 되는 점을 놓치거나 mark-on-pop 중복을 숨긴다.를 드러내는 AI-off fixture와 사람이 계산할 oracle을 쓰세요.
이렇게 고쳐 생각해요같은 모델 가정을 공유한 결과는 oracle이 아니며 exhaustive small graph·brute force·certificate·metamorphic relation 중 독립 수단이 필요하다.
07 · 더 궁금할 때만 보기
선생님과 검토자를 위한 믿을 만한 원문
원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
