2011-01-07 46 views
3

我想通過使用boost圖庫找到一種從特定頂點執行深度優先算法的方法。從特定頂點執行深度優先算法

由Boost庫提供的深度優先算法評估從開始頂點到最後一個頂點的圖形。但是如果圖必須從特定頂點搜索呢?

有什麼建議嗎?

回答

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 2017-03-21 12:16:43

0

BGL提供了兩種機制來設置depth_first_search的起始頂點。您可以使用它需要提供一個顏色表超載運營商,或者你可以直接設置你的訪問者的特性:

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