Weighted paths

dijkstra_path_length.

weight='weight' is kilometres. Nairobi→Nakuru→Kisumu is 340, cheaper than Mombasa.

Goal

Print the weighted path and length.

import networkx as nx
G = nx.Graph()
G.add_edge('Nairobi', 'Nakuru', weight=160)
G.add_edge('Nakuru', 'Kisumu', weight=180)
G.add_edge('Nairobi', 'Mombasa', weight=480)
G.add_edge('Mombasa', 'Kisumu', weight=550)
print(nx.dijkstra_path(G, 'Nairobi', 'Kisumu'))
print(nx.dijkstra_path_length(G, 'Nairobi', 'Kisumu'))
import networkx as nx
G = nx.Graph()
G.add_edge('a', 'b', weight=5)
G.add_edge('a', 'c', weight=1)
G.add_edge('c', 'b', weight=1)
print(nx.dijkstra_path(G, 'a', 'b'), nx.dijkstra_path_length(G, 'a', 'b'))
import networkx as nx
G = nx.DiGraph()
G.add_edge('Nairobi', 'Mombasa', weight=480)
print(nx.single_source_dijkstra_path_length(G, 'Nairobi'))
import networkx as nx
print(nx.dijkstra_path_length(nx.path_graph(4), 0, 3))