鱼C论坛

 找回密码
 立即注册
查看: 4571|回复: 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 | 显示全部楼层
#include <cstdio>
#include <cstdlib>  
#include <cstring>
#include <cmath>
#include <vector>  
#include <queue>
#include <algorithm>  
using namespace std;  
#define inf 0x3f3f3f3f
  
const int maxn = 505;  
int dist[maxn];
struct node {
    int x, val;
    node(int a, int b) {x = a; val = b;}
    bool operator < (const node & a) const {
        if (val == a.val) return x < a.x;
        else return val > a.val;
    }
};
vector<node> v[maxn];

void Dijkstra(int s, int n) {
    for (int i = 1; i <= n; i++) dist[i] = inf;
    dist[s] = 0;
    priority_queue<node> q;
    q.push(node(s, dist[s]));
    while(!q.empty()) {
        node now = q.top(); q.pop();
        for (int i = 0; i < v[now.x].size(); i++) {
            node next = v[now.x][i];
            if (dist[next.x] > now.val + next.val) {
                dist[next.x] = now.val + next.val;
                q.push(node(next.x, dist[next.x]));
            }
        }
    }
    printf("%d\n", dist[n]);
}

int main() {  
    int n, m;
    while(scanf("%d%d", &n, &m) != EOF, n + m) {
        for (int i = 1; i <= n; i++) v[i].clear();
        for (int i = 1; i <= m; i++) {
            int a, b, c;
            scanf("%d%d%d", &a, &b, &c);
            v[a].push_back(node(b, c));
            v[b].push_back(node(a, c));
        }
        Dijkstra(1, n);
    }
    system("pause");
    return 0;  
}  
想知道小甲鱼最近在做啥?请访问 -> 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-12-23 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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