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
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))