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,则改为忽略该边。

方法