greedy_bfs_6.py 774 B

123456789101112131415161718192021222324
  1. def DrawPath(G, source, dest):
  2. pos = nx.spring_layout(G)
  3. val_map = {}
  4. val_map[source] = 'green'
  5. val_map[dest] = 'red'
  6. values = [val_map.get(node, 'blue') for node in G.nodes()]
  7. nx.draw(G, pos, with_labels = True, node_color = values, edge_color = 'b' ,width = 1, alpha = 0.7) #with_labels=true is to show the node number in the output graph
  8. edge_labels = dict([((u, v,), d['length']) for u, v, d in G.edges(data = True)])
  9. nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels, label_pos = 0.5, font_size = 11) #prints weight on all the edges
  10. return pos
  11. #main function
  12. if __name__ == "__main__":
  13. G, source,dest = CreateGraph()
  14. heuristics = getHeuristics(G)
  15. pos = DrawPath(G, source, dest)
  16. greedyBFS(G, source, dest, heuristics, pos)
  17. plt.show()