Dijkstra算法介绍
Dijkstra算法使用了贪心算法的思想,搜索出到每个节点最小代价的路径,存在一个列表中,得到的路径为全局最优。从起点开始扩展每一步为一个节点找到最短路径。
下视频为用C++在Qt上进行算法的可视化
Dijkstra可视化
算法伪代码
openlist中存放已经访问过但没确定最短路径的节点
closedlist中存放已经确定最短路径的节点
while true
if openlist 为空
搜索失败, 结束搜索
取 openlist 中最小代价的节点为当前节点,并在 openlist 中删除
将节点放入closedlise
if 节点为终点
找到路径,返回结果
遍历当前节点中未在closedlist中的邻接节点