2009-09-30 17 views
3

我正在尋找使用Boost Graph Library作爲dag圖形的基礎。我之前並沒有真正使用過它,所以不太熟悉它的工作原理。Boost圖作爲一個簡單的DAG圖的基礎?

雖然我不需要邊權和巧妙的遍歷算法,但我非常想要免費獲得序列化,再加上強制實施dag圖和禁止並行弧的約束。

計劃抽象BGL的複雜性,但是這種事情的矯枉過正,因爲我只會選擇一個節點並遞歸遍歷它的所有子節點?

我也希望能夠有孤立的節點沒有連接到圖中的其他節點,但仍然能夠在圖中迭代這些節點。這是提供的東西,還是我必須存儲我自己的節點集合?

回答

2

提供了圖中節點上的迭代。有,它返回一個begin, end對迭代器上的節點的接口(和類似的一個以上的邊緣):

std::pair<vertex_iterator, vertex_iterator> vertices(const adjacency_list& g) 

documentation