未连接图中的最大边数

时间:2013-08-04 12:17:03

标签: algorithm graph graph-algorithm

在具有n个顶点且没有边的无向图中,可以添加的最大边数是多少,以便图形保持未连接状态?这是一个面试问题。

  1. NC2
  2. (N-1)C2
  3. N!
  4. (N-1)!

2 个答案:

答案 0 :(得分:3)

具有N个顶点的图形中的最大边数为NC2(link)。

请注意,要保持未连接状态,其中一个顶点不应有任何边。更正式地说,必须有a cut(其中没有任何边缘),一边只有一个顶点。为什么不是一个以上的顶点?通过归纳证明:

0,1和2顶点的情况很简单。

考虑具有3个顶点的图形。最佳切割将是一侧有2个顶点,另一侧有1个顶点。

现在假设最佳切割是在一侧具有N-1个顶点而在另一侧具有1个顶点且N> = 3的切割。现在尝试添加顶点。将顶点添加到具有一个顶点的一侧将导致可以添加一个边。将顶点添加到另一侧将导致N-1个可能的边。显然,N-1> 1对于N> = 3.因此,将顶点添加到具有N-1个顶点的一侧总是更好。

现在有两种方法可以从这里开始:

  1. 考虑没有其中一条边的图。此子图的最大边数为(N-1)C2

  2. 按原样考虑图的最大边数,并减去一个顶点的边数。这会NC2 - (N-1) = N(N-1)/2 - 2(N-1)/2 = (N-2)(N-1)/2 = (N-1)C2

  3. 所以答案是(N-1)C2,即选项2。

答案 1 :(得分:0)

b(n-1)C2

这种图的一个例子是n-1个顶点和一个孤立顶点的完整图。

在此示例中,补码图将具有nC2 - (n-1)C2 = n-1个边。 并且给定图形或其补码是连接的(proof)。 因此,如果我们构造一个具有多于(n-1)个C2边的图,那么补码将具有少于n-1个边并且无法连接,因此我们的图将是。