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)
还没有任何评论哟~
