boost의 그래프 사용 vsth_first_search ()를 사용하여 비가 중지되지 않은 검색 그래프에서 경로를 찾습니다.

StackOverflow https://stackoverflow.com/questions/442834

문제

방향 및 비가 중 가장자리와 함께 awnacency_list 그래프를 사용하고 있습니다. vertex u와 vertex v 사이에 가장 짧은 경로를 찾아야합니다. u에서 시작하는 wadth_first_search ()를 사용해야합니까? v에 도달 할 때 경로를 얻는 방법은 어떻게되며 검색을 중지하려면 어떻게해야합니까?

감사해요!

도움이 되었습니까?

해결책

가장 짧은 경로 알고리즘 중 하나를 사용해야합니다. Dijkstra 가장 짧은 경로 두 정점 사이의 경로를 찾아야하기 때문에 가장 적합합니다. 있습니다 예시 부스트 분포에서의 사용을 위해. 해당 함수에서 출력을 얻는 데 몇 가지 옵션이 있습니다. 거리 속성 맵을 제공하거나 이전 맵을 작성하거나 사용자 정의 방문자를 작성합니다.

다른 팁

예, u에서 시작하는 wadth_first_search ()를 수행하십시오.

FOR every vertex i meet
  IF i==v: BREAK
  record predecessor of i as i.p

가장 짧은 경로를 찾으려면 v에서 시작하십시오.

PRINT_PATH(u, v)
  IF v==u
    print u
  ELSEIF v.p==NIL
    print 'no path from u to v exists'
  ELSE PRINT_PATH(u, v.p)
    print v

당신은 a를 사용해야합니다 최소 스패닝 트리: 검색 알고리즘. 그것은 매우 간단한 간단한 탐욕 알고리즘입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top