havel_hakimi_graph#
- havel_hakimi_graph(deg_sequence, create_using=None)[源代码]#
使用 Havel-Hakimi 算法构造一个具有给定度序列的简单图。
- 参数:
- deg_sequence: 整数列表
每个整数对应一个节点的度(无需排序)。
- create_usingNetworkX 图构造器,可选 (默认=nx.Graph)
要创建的图类型。如果是图实例,则在填充前会清空。不允许使用有向图。
- 引发:
- NetworkXException
对于非图示度序列(即,不能由某个简单图实现的度序列)。
注释
Havel-Hakimi 算法通过反复连接度最高的节点与其他度最高的节点、按度重新排序剩余节点并重复此过程来构造一个简单图。生成的图具有高度的度关联性。节点编号为 1,.., len(deg_sequence),对应于它们在 deg_sequence 中的位置。
基本算法来自 Hakimi [1],并由 Kleitman 和 Wang [2] 进行了推广。
参考文献
[1]Hakimi S., On Realizability of a Set of Integers as Degrees of the Vertices of a Linear Graph. I, Journal of SIAM, 10(3), pp. 496-506 (1962)
[2]Kleitman D.J. and Wang D.L. Algorithms for Constructing Graphs and Digraphs with Given Valences and Factors Discrete Mathematics, 6(1), pp. 79-88 (1973)