Я не уверен, что понимаю, как 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()
easy-peasy.
Теперь, что если я захочу что-то сделать с этими расстояниями? Например, что если я хочу построить их в зависимости от, я не знаю, весов на путях или любых других мер, которые требуют извлечения исходных идентификаторов узлов?
Функция getDistances()
возвращает список списков, по одному для каждого узла с расстоянием до каждого другого узла, но я не имею ни малейшего понятия о том, как Networkit отображает имена узлов в последовательность целых чисел, которые он использует в качестве идентификаторов узлов, таким образом, порядок, который он использовал для вычисления расстояния и хранить их на выходе.