我的小破产欢迎各位来访问哦~
迪杰斯特拉算法:
这里我们需要三个数组
1.dis数组记录出发点到各点的距离
2.vis数组记录当前点是否已经访问过
3.G(二维)数组,记录整张图
迪杰斯特拉算法就是逐步松弛,达到最短路径
举一个例子:
我们这里定义a=1,b=2,c=3,d=4,e=5
dis[7]={INF,INF,INF,INF,INF,INF,INF};
vis[7]={0,0,0,0,0,0,0}
#include<iostream>
using namespace std;
int vis[7];
int dis[7];
int G[7][7];
void dijkstra(int s)
{
dis[s] = 0;
for (int i = 1; i <= 7; i++) {
int u = -1, min = 99999;
for (int j = 1; j <= 7; j++) {
if (vis[j] == 0 && dis[j] <