무 디렉션 그래프 (있는 경우)에서 하나의 사이클을 구성하는 경로의 노드를 반환하는 알고리즘을 생성하려고합니다. 지금까지 탐색 된 노드로 이어지는 발견되지 않은 가장자리에 도달 할 때까지 그래프에서 DFS를 수행하고 있습니다 (그 시점에서 사이클이 있음을 알았습니다). 그러나 어떤 경로가 순환을했는지 어떻게 알 수 있습니까? 내 경로를 기록하기 위해 스택/큐를 사용하면 어떻게 도움이됩니까? 사이클 경로의 일부가 아닌 노드에서 시작한다고 가정 해 봅시다. 나중에 스택/큐에서 꺼내는 방법을 알았습니까?무 방향성 그래프에서 하나의 사이클의 경로를 반환하는 알고리즘
모든 의견을 많이 주시면 감사하겠습니다.
당신은 그 일을 할 수 있습니다. 발견 된 노드로 이어지는 발견되지 않은 에지를 때릴 때, 같은 노드로 돌아갈 때까지 가장자리를 따라 뒤로 걷습니다. 교차 한 가장자리와 노드 만 사이클의 일부가됩니다. 그러나,이 방법은 필연적으로 어떤 사이클을 발견 할 것인가? 나는 잘 모르겠다. – pandubear
그렇습니다.하지만 어떻게 "뒤로"걸어 가야합니까? – AYR
만약 당신이 그들을 걸을 때 노드를 추가하면, 그냥 그들을 밖으로 팝업 ... 그렇지 않으면, 당신은 당신이 필요로하는 정보를 보유 할 자신의 유형을 만들 수 있습니다 ... – Noctis