core_number#
- core_number(G)[source]#
返回每个节点的核心数。
一个 k-核心是指包含度数为 k 或更多的节点的最大子图。
一个节点的核心数是包含该节点的 k-核心中 k 的最大值。
- Parameters:
- GNetworkX 图
一个无向或有向图
- Returns:
- core_number字典
一个以节点为键,核心数为值的字典。
- Raises:
- NetworkXNotImplemented
如果
G
是多重图或包含自环。
Notes
对于有向图,节点的度数定义为入度 + 出度。
References
[1]一种 O(m) 时间复杂度的网络核心分解算法 Vladimir Batagelj 和 Matjaz Zaversnik, 2003. https://arxiv.org/abs/cs.DS/0310049
Examples
>>> degrees = [0, 1, 2, 2, 2, 2, 3] >>> H = nx.havel_hakimi_graph(degrees) >>> nx.core_number(H) {0: 1, 1: 2, 2: 2, 3: 2, 4: 1, 5: 2, 6: 0} >>> G = nx.DiGraph() >>> G.add_edges_from([(1, 2), (2, 1), (2, 3), (2, 4), (3, 4), (4, 3)]) >>> nx.core_number(G) {1: 2, 2: 2, 3: 2, 4: 2}