networkx.algorithms.tree.branchings.ArborescenceIterator#
- class ArborescenceIterator(G, weight='weight', minimum=True, init_partition=None)[source]#
以递增或递减成本迭代图的所有生成树状图。
注意事项
此迭代器使用文献 [1] 中的分区方案(包含的边、排除的边和开放的边)。它使用修改后的 Edmonds' 算法生成最小生成树状图,该算法遵循边的分区。对于权重相同的树状图,任意打破平局。
参考
[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, init_partition=None)[source]#
初始化迭代器
- 参数:
- Gnx.DiGraph
需要迭代树的有向图
- weight字符串, 默认值 = “weight”
用于存储边权重的边属性
- minimum布尔值, 默认值 = True
为 True 时按递增顺序返回树,为 False 时按递减顺序返回树。
- init_partition元组, 默认值 = None
在某些边必须包含在树状图或从中排除的情况下,
init_partition
应采用(included_edges, excluded_edges)
的形式,其中每条边都是一个(u, v)
元组,位于可迭代对象(如列表或集合)中。
方法