0

boost::undirected_graphたとえば、「int」などの頂点のタイプを修正することは可能ですか?

「int」頂点タイプが のデフォルトのようでboost::adjacency_list、次のコードが機能します。

boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS> g; boost::add_edge(0 , 1 , g);

undirected_graph で失敗します。undirected_graph に頂点を追加するために同じ構文を使用するには、どのような追加手順を実行する必要がありますか?

bron_kerbosch_all_cliques入力として undirected_graph のみを受け入れるアルゴリズムを使用する必要があります。

ありがとう

4

1 に答える 1

1

入力として undirected_graph のみを受け入れる bron_kerbosch_all_cliques アルゴリズムを使用する必要があります。

ソースは、一般的なグラフを受け入れることを教えてくれます (BGL と同様):

ドキュメントを見つけるのは難しいですが (クイックブックの定義のバグかもしれません?)、ここに行きます:

要件:タイプは、 概念および概念のGraphモデルである必要があり ます。[¹関数を実装する型は 、 の式要件を満たしますが、 一定でない時間の複雑さのために追加のオーバーヘッドが発生する可能性があります。].AdjacencyMatrixIncidenceGraphVertexIndexGraphGraphedge()AdjacencyMatrix

BGLドキュメントの概念ページに移動して、どのグラフ タイプが法案に適合するかを確認してください。

おそらく「ミッシングリンク」は VertexIndexGraph の概念です。これは、内部プロパティを追加することで実現できますvertex_index_t

于 2015-03-20T09:56:52.197 に答える