k_crust#

k_crust(G, k=None, core_number=None)[source]#

返回 G 的 k-crust。

k-crust 是从图 G 中移除 k-core 的边,并在移除边后移除发现的孤立节点所得到的图。

自 3.3 版本弃用: k_crust 在 3.5 版本将不再接受 MultiGraph 对象。

参数:
GNetworkX 图

一个图或有向图。

kint, 可选

壳的阶数。如果未指定,则返回主 crust。

core_number字典, 可选

图 G 的预计算核数。

返回:
GNetworkX 图

k-crust 子图

引发:
NetworkXNotImplemented

k-crust 不支持多重图或带有自环的图。

另见

core_number

注意

此处 k-crust 的定义与 [1] 中的定义不同。[1] 中的 k-crust 等同于此算法的 k+1 crust。

对于有向图,节点度定义为入度 + 出度。

图、节点和边属性被复制到子图。

参考

[1] (1,2)

A model of Internet topology using k-shell decomposition Shai Carmi, Shlomo Havlin, Scott Kirkpatrick, Yuval Shavitt, and Eran Shir, PNAS July 3, 2007 vol. 104 no. 27 11150-11154 http://www.pnas.org/content/104/27/11150.full

示例

>>> 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_crust(H, k=1).nodes
NodeView((0, 4, 6))