鱼C论坛

 找回密码
 立即注册
查看: 4126|回复: 13

迪杰斯特拉算法求助

[复制链接]
发表于 2016-7-14 09:10:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ图片20160714090701.png

这个里面的路径P怎么会是1 4 2 4 3 6 7  最短路径怎么有两个4,高手帮忙解答下,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-14 10:10:45 | 显示全部楼层
本帖最后由 li83126 于 2016-7-14 12:32 编辑

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-15 10:55:34 | 显示全部楼层
高手给解答下,多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-19 15:47:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-19 15:47:43 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-19 16:37:02 From FishC Mobile | 显示全部楼层
小甲鱼这集的视频没看懂,期待大神解答。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-21 14:34:38 | 显示全部楼层
讲的有点含糊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-25 21:19:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-3 17:36:48 | 显示全部楼层
  1. #include <cstdio>
  2. #include <cstdlib>  
  3. #include <cstring>
  4. #include <cmath>
  5. #include <vector>  
  6. #include <queue>
  7. #include <algorithm>  
  8. using namespace std;  
  9. #define inf 0x3f3f3f3f
  10.   
  11. const int maxn = 505;  
  12. int dist[maxn];
  13. struct node {
  14.     int x, val;
  15.     node(int a, int b) {x = a; val = b;}
  16.     bool operator < (const node & a) const {
  17.         if (val == a.val) return x < a.x;
  18.         else return val > a.val;
  19.     }
  20. };
  21. vector<node> v[maxn];

  22. void Dijkstra(int s, int n) {
  23.     for (int i = 1; i <= n; i++) dist[i] = inf;
  24.     dist[s] = 0;
  25.     priority_queue<node> q;
  26.     q.push(node(s, dist[s]));
  27.     while(!q.empty()) {
  28.         node now = q.top(); q.pop();
  29.         for (int i = 0; i < v[now.x].size(); i++) {
  30.             node next = v[now.x][i];
  31.             if (dist[next.x] > now.val + next.val) {
  32.                 dist[next.x] = now.val + next.val;
  33.                 q.push(node(next.x, dist[next.x]));
  34.             }
  35.         }
  36.     }
  37.     printf("%d\n", dist[n]);
  38. }

  39. int main() {  
  40.     int n, m;
  41.     while(scanf("%d%d", &n, &m) != EOF, n + m) {
  42.         for (int i = 1; i <= n; i++) v[i].clear();
  43.         for (int i = 1; i <= m; i++) {
  44.             int a, b, c;
  45.             scanf("%d%d%d", &a, &b, &c);
  46.             v[a].push_back(node(b, c));
  47.             v[b].push_back(node(a, c));
  48.         }
  49.         Dijkstra(1, n);
  50.     }
  51.     system("pause");
  52.     return 0;  
  53. }  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-8-3 17:40:03 | 显示全部楼层
最短路算法三言两语讲不清楚的、建议多百度
http://www.mengwuji.net/thread-6794-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-10 22:43:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-5 10:06:21 | 显示全部楼层
带权重的最优路径算法,可以参考:
http://bbs.fishc.com/thread-81073-1-1.html
不过我是用python写的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-7 00:58:15 | 显示全部楼层
赚鱼币有点慢啊,急需
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-7 11:11:20 | 显示全部楼层

学习

本帖最后由 西瓜小刚 于 2021-9-13 09:46 编辑


哥,厉害啊  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 12:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表