求最短路径应该是一个常考的知识点。所以我花了一些时间把它总结了下(可能不是很全)
求图的最短路主要有三种方法:
1.Dijkstra算法:
思想:
用一个dis数组去存储各点到起点的距离(即我们要求的结果),并将所有的元素
都初始化为该点到起点的直接边的距离。(如果没有直接边,则初始化为一个较
大的数;起点自身的dis初始化为0)。
用flag数组(bool)去标记每个点是否已找过。
接下来就是循环了:
{
找dis最小的,并且flag==false的节点x;
Flag[x]==true;
然后用x更新所有节点的dis:dis[j]=min(dis[j],dis[x]+tu[x][j]);//注:j是迭代器
//tu是邻接矩阵。
}
最后得到结果!!!