给出无向图的邻接列表表示。编写一个函数来计算无向图中的边数。
我知道无向图中的边数是n(n-1)/ 2,但我不知道如何为此编写函数。
考虑到我有一个列表并使用它我将计算边数。我该怎么开始?
答案 0 :(得分:3)
n(n-1)/2
是简单无向图中的最大边数,而不是每个此类图的边数。
假设你有一个邻接列表表示,那么顶点u
和v
之间就有一个边缘。然后,v
将显示在u
的邻接列表中,u
将显示在v
的邻接列表中。对于任何u
和v
都是如此。
因此,如果计算每个顶点的邻接列表中所有元素的条目总数,则结果将是图中边数的两倍。将此值除以2将得到所需的结果。