对于算法最终审核,出现了这个问题:
For a Graph G with V vertices and E edges, what is the largest number of edges
this graph can have IF there are more than one connected components within G
由于连通分量本质上是图形中的图形,这意味着子图形中的所有顶点必须从较大的图形中移除,同时保持内部连通性。我能理解直觉,但很难将其转化为公式。
这是我到目前为止所提出的:
对于连通分量n,每个图Gn具有相应的顶点集{Vn},使得顶点集的内容在内部连接,同时保持外部断开。
Graph G1 = {V1}
Graph G2 = {V2}
...
Graph Gn = {Vn}
现在,每个{Vn}包含最多V *(V-1)个边。
如何使用公式表示最大边数?
答案 0 :(得分:1)
如果它是一个多图形(具有自循环和平行边),那么当然任何数量的边都是可能的,但我相信这是关于边被定义为无向非自反边的图。
在这种情况下,K个节点的每个组件最多可以有k* (k-1)
条边。由于这是二次性的,如果你有一个巨大的组件和一个最小的组件,你可以实现的最大边数。所以只有两个组件,每个组件有N-1和1个元素。
此图形将具有( N - 1 ) * ((N - 1) - 1) = (N - 1) * (N - 2) = (N^2 -3N +2)
条边,我相信这是具有多个组件的图形中最大边数的公式。