Bootstrap

100种算法【Python版】第23篇——A*算法

1 算法原理

A算法由彼得·哈特(Peter Hart)、尼尔·尼尔森(Nils Nilsson)和伯特·拉法尔(Bertrand Raphael)在1968年提出。它是一种基于图的搜索算法,结合了Dijkstra算法和贪心最佳优先搜索的优点。A算法的设计初衷是为了找到从起点到目标点的最短路径,同时考虑到路径的成本和启发式估计。

A*算法核心

A*算法通过维护一个开放列表(优先队列)和一个关闭列表,动态地评估每个节点的代价。每个节点都有一个代价函数 f ( n ) f(n)

;