当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX k_edge_subgraphs用法及代码示例


本文简要介绍 networkx.algorithms.connectivity.edge_kcomponents.k_edge_subgraphs 的用法。

用法:

k_edge_subgraphs(G, k)

在 G 中的每个最大 k-edge-connected 子图中生成节点。

参数

GNetworkX 图
k整数

所需的边连接

返回

k_edge_subgraphsk-edge-subgraphs 的生成器

每个 k-edge-subgraph 是定义 G 的子图 k-edge-connected 的最大节点集。

抛出

NetworkXNotImplemented

如果输入图是多重图。

ValueError:

如果 k 小于 1

注意

尝试使用基于 k 的最有效的实现。如果 k=1 或 k=2 并且图是无向的,那么这只是调用 k_edge_components 。否则使用 _[1] 中的算法。

参考

1

Zhou, Liu, et al. (2012) Finding maximal k-edge-connected subgraphs from a large graph. ACM International Conference on Extending Database Technology 2012 480--491. https://openproceedings.org/2012/conf/edbt/ZhouLYLCL12.pdf

例子

>>> import itertools as it
>>> from networkx.utils import pairwise
>>> paths = [
...     (1, 2, 4, 3, 1, 4),
...     (5, 6, 7, 8, 5, 7, 8, 6),
... ]
>>> G = nx.Graph()
>>> G.add_nodes_from(it.chain(*paths))
>>> G.add_edges_from(it.chain(*[pairwise(path) for path in paths]))
>>> # note this does not return {1, 4} unlike k_edge_components
>>> sorted(map(sorted, nx.k_edge_subgraphs(G, k=3)))
[[1], [2], [3], [4], [5, 6, 7, 8]]

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.connectivity.edge_kcomponents.k_edge_subgraphs。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。