"깊이"가 다른 게임개발자 허민영

유저에서 게임까지, 철학에서 코딩까지, 본질을 보는 게임개발

2025/11 4

DFS 기반 사이클 검출 (Recursion Stack 방식)

1. 개념 정리1.1 문제 정의유향 그래프에서 “사이클이 존재하는가(즉, 순환참조가 있는가)?”를 묻는 문제입니다. 만약 사이클이 없다면 그 그래프는 DAG이고, 순환 참조 문제(예: A → B → C → A)로부터 자유롭습니다. (GeeksforGeeks)예컨대, 의존성 그래프(모듈간, 이벤트간, 반응형 흐름간)에서 순환 참조가 생기면 무한 루프나 예측불가능한 상태를 만들 수 있기 때문에, 게임 개발 등 반응형 프로그래밍 환경에서도 이 검사가 중요합니다.1.2 왜 DFS + 재귀 스택 방식인가?DFS 진행 중에 **현재 탐색 경로상에 있는 노드(recursion stack)**에 다시 도달하면, 그 경로상에서 부모 → … → 자식 → 다시 부모(혹은 조상)로 이어지는 간선(back edge)이 있다는 ..

반응형 프로그래밍에서 DAG 검증 알고리즘 연구

반응형 프로그래밍에서 DAG 검증 알고리즘 연구반응형 프로그래밍(Reactive Programming) 환경에서 Observable 노드 간 연결이 Directed Acyclic Graph(DAG)를 이루는지 검증하는 것은 순환 의존성을 방지하고 안정적인 신호 흐름을 보장하기 위해 중요합니다. 이를 확인하는 주요 알고리즘은 DFS 기반 사이클 검출과 **Topological Sort (Kahn's Algorithm)**입니다.cp-algorithms+2​1. DFS 기반 사이클 검출 (Recursion Stack 방식)알고리즘 원리DFS 방식은 Back Edge를 감지하여 사이클을 찾습니다. 알고리즘은 각 노드를 3가지 상태로 분류합니다:profound+2​상태 정의:WHITE (0): 미방문GRAY (..