Advertisement

dijkstra算法用于计算矩阵中某初始点至各点的最短路径(C++版)

阅读量:

在给定的一个矩阵中,请从起始点坐标(0, 0)沿至目标点坐标(4, 4),并找出其最短路径长度。具体而言,则是各相邻两点之间数值变化量的累加。例如,在本案例中,则是各相邻两点之间数值变化量之和等于16:即|1−2| + |2−3| + |3−4| + … + |16−17|=16。

1 100 11 12 13
2 100 10 100 14
3 100 9 100 15
4 100 8 100 16
5 6 7 100 17

c++代码实现方法如下:

复制代码
 #include<iostream>

    
 #include<cmath>
    
 #include<vector>
    
 using namespace std;
    
 int    dis[5][5] = { {1,100,11,12, 13},
    
 					 {2,100,10,100,14},
    
 					 {3,100,9, 100,15},
    
 					 {4,100,8, 100,16},//定义矩阵从(i,j)到(i+1,j)的距离为(dis[i][j]-dis[i+1][j]),计算初始点到其他点的最短距离。dijkstra算法。
    
 					 {5, 6, 7, 100,

全部评论 (0)

还没有任何评论哟~