Dijkstra(迪杰斯特拉)算法模板
来源:互联网 发布:点对点视频软件 编辑:程序博客网 时间:2024/06/07 17:52
const int maxn=1000;const int inf=1e9;//邻接矩阵版int n,G[maxn][maxn];int d[maxn];bool vis[maxn]={false};void dijkstra(int s){ fill(d,d+maxn,inf); d[s]=0; for(int i=0;i<n;i++){ int u=-1,mind=inf; for(int j=0;j<n;j++) if(!vis[j]&&d[j]<mind) {u=j;mind=d[j];} if(u==-1) return; vis[u]=true; for(int v=0;v<n;v++){ if(!vis[v]&&G[u][v]!=inf&&d[u]+G[u][v]<d[v]) d[v]=d[u]+G[u][v]; } }}//邻接表法vector<int> Adj[maxn];int n;int d[maxn];bool vis[maxn]={false};struct Node{ int v,dis;};void dijkstra(int s){ fill(d,d+maxn,inf); d[s]=0; for(int i=0;i<n;i++){ int u=-1,mind=inf; for(int j=0;j<n;j++) if(!vis[j]&&d[j]<mind) {u=j;mind=d[j];} if(u==-1) return; vis[u]=true; for(int j=0;j<Adj[u].size();j++){ int v=Adj[u][j].v; if(!vis[v]&&d[u]+Adj[u][j].dis<d[v]) d[v]=d[u]+Adj[u][j].dis; } }}
阅读全文
0 0
- Dijkstra(迪杰斯特拉)算法模板
- 迪杰斯特拉/dijkstra 算法模板(详细注释)
- 单源最短路径算法模板(Dijkstra+BellmanFrod)
- dijkstra算法模板(优先队列优化)
- Dijkstra算法---单源最短路(基础模板)
- Dijkstra算法+堆优化(模板)
- Dijkstra算法模板(纯代码)
- Dijkstra算法模板
- Dijkstra算法模板
- Dijkstra算法模板
- Dijkstra算法模板
- 朴素Dijkstra算法模板
- Dijkstra算法模板
- Dijkstra算法【模板】
- dijkstra算法模板
- Dijkstra算法 模板
- Dijkstra算法模板
- dijkstra的算法模板
- excel数据分析--vlookup函数的使用
- 文章标题
- C语言链表-创建链表并且从键盘输入赋值
- css3之2d转换(transform方法)
- 常规验证码制作
- Dijkstra(迪杰斯特拉)算法模板
- 一个简单的Servlet登陆案例
- 更换kernel的logo
- LeetCode笔记 -- LongestSubStringLength
- 工厂方法(factory-method)模式
- IARSTM8 "unable to allocate space for sections "问题解决与改良
- Springboot学习笔记(四)
- 给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个字符。
- 201710032350->unity中ui窗体基本生命周期