k_core#
- k_core(G, k=None, core_number=None)[source]#
返回图 G 的 k-核。
k-核是包含度为
k
或更大的节点的极大子图。自 3.3 版本弃用:
k_core
在 3.5 版本中将不再接受MultiGraph
对象。- 参数:
- GNetworkX 图
一个图或有向图
- k整型, 可选
核的阶数。如果未指定,则返回主核。
- core_number字典, 可选
图 G 的预计算核数。
- 返回:
- GNetworkX 图
k-核子图
- 引发:
- NetworkXNotImplemented
k-核未定义用于多重图或带有自环的图。
另请参阅
注释
主核是
k
等于最大 core_number 的核。对于有向图,节点度定义为入度 + 出度。
图、节点和边的属性被复制到子图中。
参考文献
[1]一个 O(m) 复杂度的网络核心分解算法 Vladimir Batagelj 和 Matjaz Zaversnik, 2003. https://arxiv.org/abs/cs.DS/0310049
示例
>>> 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))