networkx.algorithms.tree.branchings.ArborescenceIterator#
- class ArborescenceIterator(G, weight='weight', minimum=True, init_partition=None)[source]#
遍历图的所有生成树,按成本递增或递减顺序。
Notes
此迭代器使用[1]中的分区方案(包含边、排除边和开放边)。它通过修改后的Edmonds算法生成最小生成树,该算法尊重边的分区。对于具有相同权重的生成树,任意打破平局。
References
[1]G.K. Janssens, K. Sörensen, 一种按成本递增顺序生成所有生成树的算法, Pesquisa Operacional, 2005-08, 第25卷(2), 第219-229页, https://www.scielo.br/j/pope/a/XHswBwRwJyrfL88dmMwYNWp/?lang=en
- __init__(G, weight='weight', minimum=True, init_partition=None)[source]#
初始化迭代器
- Parameters:
- Gnx.DiGraph
需要遍历树的有向图
- weightString, 默认 = “weight”
用于存储边权重的边属性
- minimumbool, 默认 = True
当为真时返回递增顺序的树,当为假时返回递减顺序的树
- init_partitiontuple, 默认 = None
在某些边需要包含或排除在树形结构之外的情况下,
init_partition
应为形式(included_edges, excluded_edges)
,其中每个边是一个(u, v)
元组,位于可迭代对象如列表或集合中。
Methods