对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/671aba8ec30d762a6af90a81fc2ec527.png)
解析
Dijkstra算法算是贪心思想实现的,首先把起点到所有点的距离存下来找个最短的,然后松弛一次再找出最短的,所谓的松弛操作就是,遍历一遍看通过刚刚找到的距离最短的点作为中转站会不会更近,如果更近了就更新距离,这样把所有的点找遍之后就存下了起点到其他所有点的最短距离。
指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。
先用一个数据结构存储图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c89f4e4f4b10b4f69835eba3b217b1cd.png)
用一堆数组Dis来存储顶点a到其余各个顶点的路径
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/39dbe54c5aa7a8c40f41f60775fd207c.png)
设计
for (int i =