2011-01-07 6 views
3

부스트 그래프 라이브러리를 사용하여 특정 꼭지점에서 깊이 우선 알고리즘을 수행하는 방법을 찾으려고합니다.특정 꼭지점에서 깊이 우선 알고리즘 수행

부스트 라이브러리가 제공하는 깊이 우선 알고리즘은 시작 정점부터 마지막 ​​정점까지의 그래프를 평가합니다. 그러나 특정 정점에서 그래프를 검색해야한다면 어떻게해야할까요?

제안 사항?

답변

3

BGL's documentation을 살펴보십시오.

시작점을 제공 할 수있는 오버로드가 있습니다.

template <class Graph, class DFSVisitor, class ColorMap> 
void depth_first_search(const Graph& g, DFSVisitor vis, ColorMap color, 
         typename graph_traits<Graph>::vertex_descriptor start) 
+0

실제로 과부하가 존재를하지만, 컬러 맵을 제공하는 방법을 문서화되지 않은 것입니다. – richelbilderbeek

0

BGL depth_first_search의 시작점을 설정하는 두 가지 메커니즘을 제공합니다. 당신은 컬러 맵을 공급 필요 과부하 연산자를 사용 할 수 있습니다, 또는 직접 방문자의 속성을 설정할 수 있습니다

boost::depth_first_search(myGraph, boost::visitor(myVisitor).root_vertex(myVertex));

관련 문제