C++ Boost

transpose_graph

template <class VertexListGraph, class MutableGraph> 
void transpose_graph(const VertexListGraph& G, MutableGraph& G_T,
    const bgl_named_params<P, T, R>& params = all defaults)

この関数は有向グラフの転置を計算する。有向グラフ G = (V, E) の転置 は GT = (V, ET) で、ここに ET = {(v, u) in V x V: (u, v) in E} である。すなわち、GT は その全ての辺が入れ替えられた G である。アルゴリズムに渡されたグラフ G_TG と同じ数の頂点を持っているはずであり、 辺はない。辺は G 中の各辺 (u,v) のために 次のように add_edge を呼ぶことによって transpose_graph() によって付け加えられるだろう。

Example

ここにグラフを転置する例がある: example/transpose-example.cpp.

Where Defined

boost/graph/transpose_graph.hpp

Parameters

IN: const VertexListGraph& G
有向グラフ。グラフの型は Vertex List Graph のモデルでなければなら ない。
OUT: const MutableGraph& G_T
転置されたグラフ。グラフの型は Mutable Graph のモデルでなければならない。

Named Parameters

IN: vertex_copy(VertexCopier vc)
これはコピー中に元のグラフ中の頂点のプロパティを対応する頂点へとコピーする Binary Function である。
デフォルト: グラフからのプロパティ・マップのアクセスに プロパティ・タグ vertex_all を使う vertex_copier<VertexListGraph, MutableGraph>
IN: edge_copy(EdgeCopier ec)
これはコピー中に元のグラフ中の辺のプロパティを対応する辺へとコピーする Binary Function である。
デフォルト: グラフからのプロパティ・マップのアクセスに プロパティ・タグ edge_all を使う edge_copier<VertexListGraph, MutableGraph>
IN: vertex_index_map(VertexIndexMap i_map)
頂点の添え字マップの型は Readable Property Map のモデルでなければならず、G の頂点記述子を 0 から num_vertices(G) の整数にマップするはずである。
デフォルト: get(vertex_index, G)
UTIL/OUT: orig_to_copy(Orig2CopyMap c)
これはコピー中に元のグラフの頂点を頂点へとマップする。
デフォルト: サイズ num_vertices(g) の出力グラフの頂点記述子型 の std::vector から作られた iterator_property_map で、添え字マップには i_map を用いる。

Complexity

時間複雑性は O(V + E) である。


Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)

Japanese Translation Copyright © 2003 Takashi Itou
オリジナルの、及びこの著作権表示が全ての複製の中に現れる限り、この文書の複製、利用、変更、販売そして配布を認める。このドキュメントは「あるがまま」に提供されており、いかなる明示的、暗黙的保証も行わない。また、いかなる目的に対しても、その利用が適していることを関知しない。

このドキュメントの対象: Boost Version 1.29.0
最新版ドキュメント (英語)