给定其顶点的度数,检查是否存在无向图

时间:2014-08-27 16:09:57

标签: algorithm graph time-complexity edges

给出了N数,d1,d2,d3..dn。 我们如何检查是否可以构造一个带有顶点v1,v2,v3,... vn的无向图,分别为degress d1,d2,... dn。 图表不应在同一对节点之间包含多条边,或者" loop"边缘 (两个末端顶点都是同一个节点)。 此外,该算法的运行时间是多少?

1 个答案:

答案 0 :(得分:4)

维基百科称之为graph realization problem,可通过Havel--Hakimi算法解决。从具有n个顶点,v1..vn和0边的图形开始。将顶点vk的缺陷定义为dk与当前vk度之间的差异。重复选择具有最大缺陷D的顶点vk并将其连接到具有D个最大缺陷的D个其他顶点。如果顶点有负面缺陷,那么该实例是无法解决的。否则,我们终止解决方案。我将运行时间作为练习。