Bellman-Ford算法 O(NE)
思路:枚举n-1次所有边,通过枚举所有边,将所有和已知点相连的点都设为已知,初始时起点为已知点。
1 for(int i=1;i<=n-1;i++){ //n-1是次数,枚举n-1次所有边肯定是够的 2 for(int j=1;j<=E;j++){ //主要枚举的是边,而不是点 3 if(dis[u]+w[j]<dis[v){ //u,v分别是这条边连接的两个点 4 dis[v)=dis[u]+w[j]; 5 pre[v]=u; 6 } 7 } 8 } 9 //思路:枚举n-1次所有边,通过枚举所有边,将所有和已知点相连的点都设为已知。