找到图表中的最大边数

问题描述 投票:8回答:3

无向图有'n'个顶点和0个边。我们可以绘制的最大边数可以使图形保持断开状态。

我已经做出了解决方案,我们可以排除一个顶点,并且可以找到无向图的n-1个顶点之间的最大边数,这样图形仍然保持断开状态。

n个顶点为n(n-1)/ 2,n-1个顶点为(n-1)(n-2)/ 2。可以有更好的解决方案吗?

algorithm graph edge-detection
3个回答
3
投票

您的解决方案应该是最佳解决方案。

因为添加的任何新边必须在一端具有第n个顶点。


7
投票

您可以使用分析解决此问题。接受你的想法并概括它。您将n个顶点分成两组,大小为xn-x。现在边数是x的函数,表示为

  f(x)= x(x-1)/2 + (n-x)(n-x-1)/2
  f(x) = 1/2(2x^2 - 2nx +n^2 - n)

最大化此功能的值是您想要的分区大小。如果你进行计算,你发现它从x=0减少到x=n/2,然后增加到x=n。当x = 0或x = n表示收集图表时,您将获取下一个最大值x=1。所以你的直觉是最佳的。


0
投票

如果图形可以有多个边,则对于n> = 3,答案是无穷大。 如果它也可以包含自循环,则对于n> = 2,答案是无穷大,

如果没有这些解决方案是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.