Я хочу вычислить сумму весов всех ребер моего сетевого графа в python. На самом деле у меня более 88000 ребер, так что до финиша sh это больше 3 часов. Есть ли решение, чтобы сократить время выполнения? Вот функция для вычисления веса каждого заданного ребра:
def weight_edge(i,j,g):
neighborhood_i=neighborhood(g,i)
neighborhood_j=neighborhood(g,j)
neighborhood_commun=len(intersection(neighborhood_i,neighborhood_j))
neighborhood_total=len(neighborhood_i)+len(neighborhood_j)
if(neighborhood_total-2!=0):
return(round(neighborhood_commun/(neighborhood_total-2),3))
else:
return 0
Где i и j - два соединенных узла, а g - график.