k_core#
- k_core(G, k=None, core_number=None)[source]#
返回图 G 的 k-核。
k-核是一个包含度数为
k
或更多的节点的最大子图。- Parameters:
- GNetworkX 图
一个图或有向图
- kint, 可选
核的阶数。如果未指定,则返回主核。
- core_number字典, 可选
预先计算的图 G 的核数。
- Returns:
- GNetworkX 图
k-核子图
- Raises:
- NetworkXNotImplemented
k-核对于多图或带有自环的图未定义。
See also
Notes
主核是具有最大核数的
k
的核。对于有向图,节点度数定义为入度 + 出度。
图、节点和边属性会被复制到子图中。
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) >>> H.degree DegreeView({0: 1, 1: 2, 2: 2, 3: 2, 4: 2, 5: 3, 6: 0}) >>> nx.k_core(H).nodes NodeView((1, 2, 3, 5))