• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

DFS함수에서 cnt+=1을 하기위한 조건식이 이해가 되지 않습니다ㅜㅜ

21.08.24 19:04 작성 조회수 263

0

안녕하십니까 선생님!! 선생님 알고리즘 강의 너무 잘듣고 잘 배우고 있는 학생입니다!

다름이 아니라 이번문제를 풀면서 cnt +=1을 하는 조건이 1부터 시작하여 5에 최종적으로 도달한 경우에 cnt를 1씩 늘리는 것으로 판단하였는데 선생님의 풀이에서의 조건이 "if v == n"이 되는 것이 이해가 되지 않아 질문남깁니다. 

예를 들어 path의 경우에서 1 2 3 4 5의 경우와 같이 5개의 노드를 지난 경우는 위의 조건이 직관적으로 이해가 가지만 1 2 5와 같이 3개의 노드만을 지나서 5에 도달한 경우에는 DFS(v)에서 v가 3일때 문제에서 요구하는 조건을 충족하게됩니다. 그럼 이 경우는 5에서 또 가지를 뻗어 DFS(v)에서 v가 4인 경우 5인경우까지 모두 실행을 한후 cnt+=1이 실행되는 것인가요? 이 부분이 헷갈려 질문남깁니다.

답변 1

답변을 작성해보세요.

0

우디님의 프로필

우디

2021.08.26

V는 지나온 노드 겟수가 아니라 현재의 노드 번호를 뜻하는 거에요.

뭔가 잘못 이해하고 계신거 같습니다. 

1 2 5 해서 5에 도달하면 더이상 진행하지 않습니다. 1 2 5에서 1 2로 돌아간 후 다른 노드를 탐색합니다.

지나가다가 올려봄..