QQ登录

只需要一步,快速开始

 注册地址  找回密码
12
返回列表 发新帖
楼主: 珊珊魏
打印 上一主题 下一主题

用lingo求解最短路径 求代码

[复制链接]
字体大小: 正常 放大

1

主题

9

听众

512

积分

升级  70.67%

  • TA的每日心情
    奋斗
    2016-7-11 18:46
  • 签到天数: 201 天

    [LV.7]常住居民III

    社区QQ达人 新人进步奖

    11#
    发表于 2013-4-29 08:35 |只看该作者
    |招呼Ta 关注Ta
    你是从哪儿到哪儿啊

    点评

    珊珊魏  你刷我屏 坏人  详情 回复 发表于 2013-5-17 15:17
    回复

    使用道具 举报

    26

    主题

    10

    听众

    562

    积分

    升级  87.33%

  • TA的每日心情
    开心
    2015-5-2 15:22
  • 签到天数: 174 天

    [LV.7]常住居民III

    自我介绍
    自信

    社区QQ达人

    群组学术交流B

    群组学术交流A

    这是用MATLAB做的
    % 两点间最短路的 Dijkstra 算法
    function [d index1 index2] = Dijkf(a)
    % a表示图的权值矩阵
    % b表示所有最短路的权和
    % index1表示标号顶点顺序
    % index2表示标号顶点索引

    % 参数初始化
    M = max(max(a));
    pb(1:length(a)) = 0;
    pb(1) = 1;
    index1 = 1;
    index2 = ones(1,length(a));
    d(1:length(a)) = M;d(1) = 0;temp = 1;
    % 更新l(v),同时记录顶点顺序和顶点索引
    while sum(pb) < length(a)
        tb = find(pb == 0);
        d(tb) = min(d(tb),d(temp)+a(temp,tb));
        tmpb = find(d(tb) == min(d(tb)));
        temp = tb(tmpb(1));
        pb(temp) = 1;
        index1 = [index1,temp]; % 记录标号顺序
        index = index1(find(d(index1) == d(temp) a(temp,index1)));
        if length(index) >= 2
            index = index(1);
        end
        index2(temp) = index;   % 记录标号索引
    end
    d;
    index1;
    index2;

    点评

    珊珊魏  O(∩_∩)O谢谢谢谢  详情 回复 发表于 2013-5-17 15:17
    回复

    使用道具 举报

    珊珊魏        

    4

    主题

    9

    听众

    23

    积分

  • TA的每日心情
    难过
    2015-4-15 10:36
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    自我介绍
    我是新手

    社区QQ达人

    群组2013认证赛A题讨论群组

    回复

    使用道具 举报

    珊珊魏        

    4

    主题

    9

    听众

    23

    积分

  • TA的每日心情
    难过
    2015-4-15 10:36
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    自我介绍
    我是新手

    社区QQ达人

    群组2013认证赛A题讨论群组

    zhangc_ningbo 发表于 2013-4-29 11:57
    这是用MATLAB做的
    % 两点间最短路的 Dijkstra 算法
    function [d index1 index2] = Dijkf(a)

    O(∩_∩)O谢谢谢谢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-7-28 17:34 , Processed in 0.589651 second(s), 73 queries .

    回顶部