# `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_T` は `G` と同じ数の頂点を持っているはずであり、 辺はない。辺は `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.30.0
最新版ドキュメント (英語)