迪杰斯特拉模板

news/2024/11/24 2:14:49/
迪杰斯特拉算法求无向图最短路
#include<cstring>
#include<cstdio>
#include<algorithm>
#define inf 99999999
#define N 1010
using namespace std;
int map[N][N];//原储存矩阵
int dist[N];
int visited[N],s[N];
int n,m;void Dijkstra(int J)//求每个点到J的距离
{int j,i;memset(visited,0,sizeof(visited));for(i=0;i<=n;i++)//初始化距离dist[i]=inf;dist[J]=0;visited[J]=1;for(i=1; i<n; i++){for(j=1; j<=n; j++){if(!visited[j]&&map[J][j]<inf&&dist[J]+map[J][j]<dist[j])//有路,并且没走过,并且落脚后比原有路径更短{dist[j]=map[J][j]+dist[J];}}int min=inf;for(j=1; j<=n; j++)//再遍历所有点,找已经可以走的,并且没有做过起点的。{if(!visited[j]&&dist[j]<min){J=j;min=dist[j];//每次从最短的路走,搜出下一个落脚点}}visited[J]=1;//做过头点的标记if(min==inf)return;}
}int main()
{int i,j,k;while(~scanf("%d%d",&n,&m)){for(int i=1; i<=n; i++){for(int j=1; j<=n; j++){if(i==j)map[i][j]=0;elsemap[i][j]=inf;}}int f;for(i=0;i<m;i++){scanf("%d%d%d",&j,&k,&f);if(f<map[j][k])map[j][k]=f;}Dijkstra(1);memset(s,0,sizeof(s));}return 0;
}



http://www.ppmy.cn/news/527555.html

相关文章

迪杰斯特拉算法(入门理解)

Dijkstra算法&#xff08;求某一个点到其他点的最短距离&#xff09;&#xff1a; *南昌理工学院ACM暑假集训队 &#x1f603; Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法&#xff0c;用于计算一个节点到其他所有节点的最短路径。 主要特点是以起始点为中心向外层层扩…

如何理解迪杰斯特拉算法

路漫漫其修远兮&#xff0c;吾将上下而求索。                 ——屈原 在最短路径的求解算法中&#xff0c;迪杰斯特拉&#xff08;Dijkstra&#xff09;算法应该是非常出名的&#xff0c;但是对于初学者而言却又很难理解为什么这个算法是对的&#xff0c;找…

算法系列——迪杰斯特拉算法(Dijkstra)

本系列旨在用简单的人话讲解算法&#xff0c;尽可能避免晦涩的定义&#xff0c;读者可以短时间内理解算法原理及应用细节。我在努力&#xff01; 本篇文章编程语言为Python&#xff0c;供参考。 迪杰斯特拉算法&#xff08;Dijkstra&#xff09; 典型最短路径算法。用于计算一…

迪杰特斯拉算法

Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法&#xff0c;这个算法我主动学了三遍&#xff0c;第一主动学的时候&#xff0c;是看严蔚敏的《数据结构》&#xff0c;当时应该是学懂了&#xff0c;有点透彻地理解了这个算法&#xff0c;但是没有记录下来&#xff0c;后来就…

迪杰斯特拉算法-(.c)

一、定义 Dijkstra算法&#xff08;迪杰斯特拉算法&#xff09;是很有代表性的最短路径算法&#xff0c;用于计算一个结点到其他结点的最短路径。该算法指定一个点&#xff08;源点&#xff09;到其余各个结点的最短路径&#xff0c;因此也叫做单源最短路径算法。该算法是由荷…

经典迪杰斯特拉算法

参数说明&#xff1a; n&#xff0c;城市的数量 m&#xff0c;边的数量 maxint&#xff0c;认为定义的一个认为是断路的标志 maxnum一个宏 dist[]纪录其他个点到出发点的距离&#xff0c;程序没有把算法写成函数&#xff0c;而是最简单的流水线执行&#xff0c;以0号城市为出发…

迪杰斯特拉算法详解

1.概述&#xff1a;Dijkstra算法是用来寻找两点之间最短路径的算法&#xff0c;在实际生活中有着很大的作用他的思想就是选定一点然后向后遍历直至所有点到选定点的最短距离全部求处为止。 2.算法思想&#xff1a; &#xff08;1&#xff09;初始化&#xff1a;先找处从源点V0到…

江苏python工资一般多少_在「江苏杰士德精密工业有限公司」工作或实习是一种怎样的体验?...

2016年7月校招进去杰士德&#xff0c;2019年8月离职 我不谈企业文化&#xff0c;也不谈老板怎么样&#xff0c;我只谈我知道&#xff0c;我经历的&#xff01; 杰士德是一个集团公司&#xff0c;子公司有七八家&#xff0c;这个可以去天眼查查一下&#xff01; 部门大概&…