最短路径算法
1.dijistra

邻接矩阵

从v1开始找最小权重,如果权重和小于当前值,则置换,初始为
$$
dis\left[ \begin{matrix}
\infty& \infty& \infty& \infty& \infty& \infty\
\end{matrix} \right]
$$
第一次:v1
$$
dis\left[ \begin{matrix}
0& \infty& 10& \infty& 30& 100\
\end{matrix} \right]
$$
第二次:v1-v3,距离v4最近(10+50)
$$
dis\left[ \begin{matrix}
0& \infty& 10& 60& 30& 100\
\end{matrix} \right]
$$
第三次v1-v3-v4-,距离v6最近(10+50+10)
$$
dis\left[ \begin{matrix}
0& \infty& 10& 60& 30& 70\
\end{matrix} \right]
$$
第四次:v1-v5,距离v4最近(30+20)
$$
dis\left[ \begin{matrix}
0& \infty& 10& 50& 30& 70\
\end{matrix} \right]
$$
第五次:v1-v5-v4,距离v6最近(30+20+10)
$$
dis\left[ \begin{matrix}
0& \infty& 10& 50& 30& 60\
\end{matrix} \right]
$$

2.prim算法
按权重从小到大分布散列,取小至大权路径

3.Kruskal算法
按最小权重取探索,如果访问过的节点则回退走另一条路径,直至连通所有节点

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 yanglin2042@gmail.com