k_crust#

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

返回图 G 的 k-外壳。

k-外壳是指从图 G 中移除 k-核的边,并且在移除边后发现的孤立节点也会被移除。

Parameters:
GNetworkX 图

一个图或有向图。

kint, 可选

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

core_number字典, 可选

图 G 的预计算核心数。

Returns:
GNetworkX 图

k-外壳子图

Raises:
NetworkXNotImplemented

k-外壳未针对多图或有自环的图实现。

See also

core_number

Notes

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

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

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

References

[1] (1,2)

使用 k-壳分解的互联网拓扑模型 Shai Carmi, Shlomo Havlin, Scott Kirkpatrick, Yuval Shavitt, 和 Eran Shir, PNAS 2007 年 7 月 3 日 第 104 卷 第 27 期 11150-11154 http://www.pnas.org/content/104/27/11150.full

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