2016-11-16 7 views
0

無向グラフの隣接リスト表現が与えられている。無向グラフのエッジ数を数える関数を書く。無向グラフのエッジ数

無向グラフの辺の数はn(n-1)/ 2であることが分かりますが、そのための関数を書く方法はわかりません。

私はリストを持っていると考え、それを使って私はエッジの数を数えます。どうすればいいですか?

+0

無向グラフの可能な隣接リストの表現は1つではありません。あなたはどんな種類ですか?さらに、無向グラフのエッジの数は、0からn(n-1)/ 2までの間の任意の数にすることができます。 – tafa

答えて

2

n(n-1)/2は、単純な無向グラフのエッジの最大数であり、すべてのグラフのエッジ数ではありません。

隣接リストの表現があるとすれば、頂点uvの間に辺がある場合になります。次に、vが隣接リストのuに表示され、uが隣接リストのvに表示されます。これはuvのいずれにも当てはまります。

したがって、各頂点の隣接リスト内のすべての要素のエントリの総数を数えると、結果はグラフのエッジの数の2倍になります。この値を2で割ると、望ましい結果が得られます。

関連する問題