我不确定我是否了解 Networkit 如何处理节点名称。
假设我使用另一个 Python 模块(如 Networkx)从边缘列表中读取了一个大图;然后我将其转换为网络图并执行一些操作,例如计算成对距离。执行此操作的一段简单代码可能是:
import networkx as nx
import networkit as nk
nxG=nx.read_edgelist('test.edgelist',data=True)
G = nk.nxadapter.nx2nk(nxG, weightAttr='weight')
apsp = nk.distance.APSP(G)
apsp.run()
dist=apsp.getDistances()
十分简单。
现在,如果我想对这些距离做些什么呢?例如,如果我想将它们与路径上的权重或任何其他需要检索原始节点 ID 的度量进行对比,我不知道该怎么办?
该getDistances()
函数返回一个列表列表,每个节点都有一个与其他节点的距离,但我不知道 Networkit 如何将节点的名称映射到它用作节点标识符的整数序列,因此它遵循的顺序计算距离并将它们存储在输出中。