Skip to main content
 首页 » 编程设计

python之接受图表的 A* 算法

2025年05月04日9lori

我正在做一个项目,我需要一个最短路径算法来找到最短路径。目前我正在使用 David Eppstein 对 Dijkstra 算法的实现,但由于图的性质很大(大约 360 万个节点),找到这条最短路径可能需要将近一分钟的时间。我知道 A* 算法运行得更快,但我发现它的所有实现都基于网格样式而不是图形样式。示例图如下所示:

graph = {"A": {"B": 2} 
     "B": {"A": 2, "C": 5, "D": 4} 
     "C": {"B": 5, "E": 7} 
     "D": {"B": 4, "E": 10} 
     "E": {"C": 7, "D": 10} 
    } 

如果有人知道一些实现 A* 接受这种图形作为输入的在线代码,请告诉我。

请您参考如下方法:

有一个名为 NetworkX 的 python 图形库 具有所有共同点 shortest path实现的算法。