【问题标题】:Check if there exists an undirected graph, given the degrees of its vertices [closed]给定顶点的度数,检查是否存在无向图[关闭]
【发布时间】:2014-10-21 07:51:23
【问题描述】:

给出了 N 个数,d1,d2,d3..dn。 我们如何检查是否可以构造一个无向图,其顶点为 v1,v2,v3,...vn,度数分别为 d1,d2,...dn。 图不应包含同一对节点之间的多条边,或“循环”边 (两个端点都是同一个节点)。 还有,算法的运行时间是多少?

【问题讨论】:

  • 家庭作业?如果是这样,你应该这么说。
  • 不,不是作业问题。这是一个考试问题,我无法解决。

标签: algorithm graph time-complexity edges


【解决方案1】:

这就是维基百科所说的graph realization problem,可以通过Havel--Hakimi 算法解决。从具有 n 个顶点、v1..vn 和 0 个边的图开始。将顶点 vk 的 deficit 定义为 dk 与当前 vk 度数之间的差。重复选择具有最大赤字D的顶点vk,并将其连接到具有D最大赤字的其他D个顶点。如果一个顶点有负赤字,那么这个实例是不可解的。否则,我们以解决方案终止。我将把跑步时间留作练习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2021-05-18
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多