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