关于您的第一个问题,假设我们使用node.csv中的数字作为边的权重,一个简单的程序允许使用networkx来计算这个图:import matplotlib.pyplot as plt
import networkx as nx
import csv
g = nx.Graph()
i_dict = {}
with open("g.csv","r") as input:
csv_dict = csv.DictReader(input, skipinitialspace=True, delimiter=",")
ini = 1
for row in csv_dict:
for i in row:
#print(row[i])
if type(row[i]) is str:
g.add_edge(ini, int(i), weight=(float(row[i])))
ini += 1
pos=nx.spring_layout(g, scale=100.)
nx.draw_networkx_nodes(g, pos)
nx.draw_networkx_edges(g,pos)
nx.draw_networkx_labels(g,pos)
plt.axis('off')
plt.show()
这就产生了:
关于寻找最近的邻居,比如node1,仍然基于
来自node.csv的值:</