无向图中的边数

时间:2016-11-16 14:22:06

标签: c data-structures graph

给出无向图的邻接列表表示。编写一个函数来计算无向图中的边数。

我知道无向图中的边数是n(n-1)/ 2,但我不知道如何为此编写函数。

考虑到我有一个列表并使用它我将计算边数。我该怎么开始?

1 个答案:

答案 0 :(得分:3)

n(n-1)/2是简单无向图中的最大边数,而不是每个此类图的边数。

假设你有一个邻接列表表示,那么顶点uv之间就有一个边缘。然后,v将显示在u的邻接列表中,u将显示在v的邻接列表中。对于任何uv都是如此。

因此,如果计算每个顶点的邻接列表中所有元素的条目总数,则结果将是图中边数的两倍。将此值除以2将得到所需的结果。