无向图中有n个顶点和k个连通分量的最大边数?

时间:2014-06-02 21:48:42

标签: graph

我自己无法回答这个问题,因为我没有看到我试过的所有例子都有类似的行为。 问题再次出现: 无向图中有n个顶点和k个连通分量的最大边数? 感谢。

2 个答案:

答案 0 :(得分:6)

这个答案取决于你的图表是否允许自循环。为简单起见,我将假设他们不是。

如果您的连接组件中包含x个节点,则该连接组件中可以包含的最大边数为x(x - 1)/ 2.因此,如果您有n个节点和k个不同的连接组件,您可以想象将节点分布到连接的组件中,以最大化连接组件中x(x - 1)/ 2的总和。

具体来说,假设您的CC每个都有n 1 ,...,n k 个节点。您想要解决以下二次规划:

  

最大化:n 1 (n 1 - 1)/ 2 + ... + n k (n k < / sub> - 1)/ 2

     

主题:n 1 + ... + n k = n

当连接组件的k-1有1个节点而最后连接的组件中有n-k + 1个节点时,我会声称这是最大化的。直观地说,这是正确的,因为从巨大CC中删除的任何节点都会导致可能边缘数量的大幅下降,这些边缘不会被添加到节点中的另一个连接组件中可能边缘数量的微小增加所抵消。

在此设置下,k-1单例CC中可能的最大边数将为0,另一CC中可能的最大边数将为(n-k + 1)(n- k)/ 2.因此,总数应为(n - k + 1)(n - k)/ 2。

希望这有帮助!

答案 1 :(得分:0)

当图不包含自环并且是无向的,则最大值为。的边缘是-

(n-k + 1)(n-k)/ 2

这是因为具有n个顶点的最大边数为 n(n-1)/ 2
现在,例如,如果我们制作一个具有 n = 2 (4个顶点)的无向图,并且有2个相连的分量即k = 2 ,则第一个连接的组件包含3个顶点或2个顶点,为简单起见,我们取3个顶点(因为连接的组件包含2个顶点,每个顶点不会导致最大数量的边)。必须连接这3个顶点,因此这3个顶点之间的最大边数为3,即(1-> 2-> 3-> 1),并且第二个连接的组件仅包含1个顶点,而没有边缘。因此,在这种情况下,最大边数为3。这意味着在最大边数中用 n-k + 1 替换 n 。 em>,即n(n-1)/ 2将导致(n-k + 1)(nk)/ 2 ,这是n个顶点的图具有的最大边数k个连接的组件可以具有。
see image for better understanding
希望对您有所帮助!