求A点到各点的最短路径
源点为A
dist[] :距离源点距离
path[]:上一结点
selected[]:访问标记,1为访问过,0为未访问
画表格形式求最短路径
首先图中可以得知,以A为源点,A可以到达B、C、D三点,在图中填写三点的距离以及上一结点,不能到达的点用∞表示,从①中选出未被访问结点中,距离最短的作为下一个访问结点,很明显是2为最短距离,下一个访问的为C结点。
表格②中6为最短距离,下一个访问结点为F,F可达D、G两点,比较A->D和A->C->F->D的距离,发现A到D的距离大于A->C->F->D,所以更新表格,D的上一结点更新为F,距离更新为11。以此类推更新表格
依次更新直到结点全部访问。最后⑦就是A到各个结点的最短距离。
某站视屏参考,用作学习交流,如有侵权联系删除。