k_shell#

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

返回图 G 的 k-壳。

k-壳是由核心数为 k 的节点诱导的子图。 即,位于 k-核中但不位于 (k+1)-核中的节点。

Parameters:
GNetworkX 图

一个图或有向图。

kint, 可选

壳的阶数。如果未指定,则返回最外层的壳。

core_number字典, 可选

预先计算的图 G 的核心数。

Returns:
GNetworkX 图

k-壳子图

Raises:
NetworkXNotImplemented

k-壳对于多图或带有自环的图未实现。

Notes

这与 k_corona 类似,但在那种情况下只考虑 k-核中的邻居。

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

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

References

[1]

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