schultz_index#
- schultz_index(G, weight=None)[源代码]#
返回图
G
的 Schultz 指数(第一类)图的 *Schultz 指数* [3] 是对所有节点对之间的距离乘以节点度数之和进行求和。考虑一个无向图
G
。对于每个节点对(u, v)
,计算dist(u, v) * (deg(u) + deg(v))
,其中dist
是两节点之间的最短路径长度,deg
是节点的度数。Schultz 指数是将这些数量对所有(无序)节点对进行求和。
- 参数:
- GNetworkX 图
目标无向图。
- weight字符串或 None,可选 (默认值: None)
如果为 None,则每条边的权重为 1。如果为字符串,则使用此边属性作为边权重。任何不存在的边属性默认为 1。边权重用于计算最短路径距离。
- 返回值:
- 数值
图
G
的第一类 Schultz 指数。
参考文献
[1]I. Gutman, Selected properties of the Schultz molecular topological index, J. Chem. Inf. Comput. Sci. 34 (1994), 1087–1089. https://doi.org/10.1021/ci00021a009
[2]M.V. Diudeaa and I. Gutman, Wiener-Type Topological Indices, Croatica Chemica Acta, 71 (1998), 21-51. https://hrcak.srce.hr/132323
[3]H. P. Schultz, Topological organic chemistry. 1. Graph theory and topological indices of alkanes,i J. Chem. Inf. Comput. Sci. 29 (1989), 239–257.
示例
(无权重的) 完整图的 Schultz 指数,节点数为 n,等于 n 个节点的对数乘以
2 * (n - 1)
,因为每对节点的距离为 1,且两个节点的度数之和为2 * (n - 1)
。>>> n = 10 >>> G = nx.complete_graph(n) >>> nx.schultz_index(G) == (n * (n - 1) / 2) * (2 * (n - 1)) True
断开连接的图
>>> nx.schultz_index(nx.empty_graph(2)) inf