networkx.algorithms.tree.mst.SpanningTreeIterator#
- class SpanningTreeIterator(G, weight='weight', minimum=True, ignore_nan=False)[source]#
以成本递增或递减的顺序迭代图的所有生成树。
注意
此迭代器使用 [1] 中的划分方案(包含边、排除边和开放边),以及修改后的 Kruskal 算法来生成遵循边划分的最小生成树。对于具有相同权重的生成树,任意打破平局。
参考
[1]G.K. Janssens, K. Sörensen, An algorithm to generate all spanning trees in order of increasing cost, Pesquisa Operacional, 2005-08, Vol. 25 (2), p. 219-229, https://www.scielo.br/j/pope/a/XHswBwRwJyrfL88dmMwYNWp/?lang=en
- __init__(G, weight='weight', minimum=True, ignore_nan=False)[source]#
初始化迭代器
- 参数:
- Gnx.Graph
需要迭代生成树的有向图
- weight字符串, 默认 = “weight”
用于存储边权重的边属性
- minimumbool, 默认 = True
为 True 时按递增顺序返回树,为 False 时按递减顺序返回。
- ignore_nanbool, 默认 = False
如果边的权重是 NaN,通常会引发异常。如果
ignore_nan 为 True
,则改为忽略该边。
方法