number_of_walks#
- number_of_walks(G, walk_length)[source]#
返回图中每对节点之间的步行连接数
步行 是一系列节点,其中序列中每对相邻节点在图中也是相邻的。步行可以重复同一条边并朝相反方向行走,就像人们可以在一组路径上行走一样,但站立不动不算作步行的一部分。
此函数仅计算具有
walk_length
条边的步行。请注意,步行序列中的节点数比walk_length
多一个。在较大的图和较大的步行长度下,步行的数量可能会迅速增长。- Parameters:
- GNetworkX 图
- walk_lengthint
表示步行长度的非负整数。
- Returns:
- dict
一个字典的字典,其中外部键是源节点,内部键是目标节点,内部值是连接这些节点的长度为
walk_length
的步行数。
- Raises:
- ValueError
如果
walk_length
为负
Examples
>>> G = nx.Graph([(0, 1), (1, 2)]) >>> walks = nx.number_of_walks(G, 2) >>> walks {0: {0: 1, 1: 0, 2: 1}, 1: {0: 0, 1: 2, 2: 0}, 2: {0: 1, 1: 0, 2: 1}} >>> total_walks = sum(sum(tgts.values()) for _, tgts in walks.items())
您还可以使用返回的字典从特定源节点获取步行数。例如,从节点 0 开始的 1 长度步行数可以如下找到:
>>> walks = nx.number_of_walks(G, 1) >>> walks[0] {0: 0, 1: 1, 2: 0} >>> sum(walks[0].values()) # 从 0 开始的 1 长度步行数 1
同样,也可以指定目标节点:
>>> walks[0][1] 1