应用
- Dijkstra算法的演变版本被广泛应用于谷歌地图中用来寻找最短路径
- 假设你在沃尔玛工作,已知不同的通道和所有通道之间的距离,求出A通道到客户所在的D通道的最短路径。

- 领英上有很多一级联系和二级联系。这些联系背后都是如何运作的呢?

编码
- print(nx.shortest_path(g, 'Stuttgart','Frankfurt',weight='weight'))
- print(nx.shortest_path_length(g, 'Stuttgart','Frankfurt',weight='weight'))
- --------------------------------------------------------
- ['Stuttgart', 'Numberg', 'Wurzburg', 'Frankfurt']
- 503
还可以使用以下命令找到所有城市对之间的最短路径:
- for x in nx.all_pairs_dijkstra_path(g,weight='weight'):
- print(x)
- --------------------------------------------------------
- ('Mannheim', {'Mannheim': ['Mannheim'], 'Frankfurt': ['Mannheim', 'Frankfurt'], 'Karlsruhe': ['Mannheim', 'Karlsruhe'], 'Augsburg': ['Mannheim', 'Karlsruhe', 'Augsburg'], 'Kassel': ['Mannheim', 'Frankfurt', 'Kassel'], 'Wurzburg': ['Mannheim', 'Frankfurt', 'Wurzburg'], 'Munchen': ['Mannheim', 'Karlsruhe', 'Augsburg', 'Munchen'], 'Erfurt': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Erfurt'], 'Numberg': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Numberg'], 'Stuttgart': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Numberg', 'Stuttgart']})('Frankfurt', {'Frankfurt': ['Frankfurt'], 'Mannheim': ['Frankfurt', 'Mannheim'], 'Kassel': ['Frankfurt', 'Kassel'], 'Wurzburg': ['Frankfurt', 'Wurzburg'], 'Karlsruhe': ['Frankfurt', 'Mannheim', 'Karlsruhe'], 'Augsburg': ['Frankfurt', 'Mannheim', 'Karlsruhe', 'Augsburg'], 'Munchen': ['Frankfurt', 'Wurzburg', 'Numberg', 'Munchen'], 'Erfurt': ['Frankfurt', 'Wurzburg', 'Erfurt'], 'Numberg': ['Frankfurt', 'Wurzburg', 'Numberg'], 'Stuttgart': ['Frankfurt', 'Wurzburg', 'Numberg', 'Stuttgart']})....
3. 最小生成树(MST) (编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|