利用nx.all_pairs_shortest_path_length(Graph)计算网络全图最短路径
##无权无向网络的全局最短路径 import networkx as nxgraph1 = nx.Graph() graph1.add_nodes_from([1,2,3,4,5,6]) graph1.add_edges_from([(1,2), (2,3), (5,6), (1,5), (2,4)])def global_average_shortest_path(Graph):Dict = dict(nx.all_pairs_shortest_path_length(Graph))length1 = len(Dict.values())total = 0edges_number = 0for sourcenodes in Dict.values():total = total +sum(sourcenodes.values())edges_number = edges_number + len(sourcenodes.values())average_shortest_path = total/(edges_number-length1)return average_shortest_pathprint(global_average_shortest_path(graph1))
##基于dijkstra算法的无向加权网络全局平均最短路径
import networkx as nxgraph1 = nx.Graph() graph1.add_nodes_from([1,2,3,4,5,6]) graph1.add_weighted_edges_from([(1,2,2), (2,3,1), (5,6,2), (1,5,3), (2,4,7)])def global_average_shortest_path(Graph):Dict = dict(nx.all_pairs_dijkstra_path_length(Graph))length1 = len(Dict.values())total = 0edges_number = 0for sourcenodes in Dict.values():total = total +sum(sourcenodes.values())edges_number = edges_number + len(sourcenodes.values())average_shortest_path = total/(edges_number-length1)return average_shortest_pathprint(global_average_shortest_path(graph1))
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
