数学建模社区-数学中国
标题:
Dijkstra最短路算法通用Matlab程序
[打印本页]
作者:
wen1055
时间:
2009-8-23 19:07
标题:
Dijkstra最短路算法通用Matlab程序
Dijkstra最短路算法通用Matlab程序
function [d,DD]=dijkstra(D,s)
%Dijkstra最短路算法Matlab程序用于求从起始点s到其它各点的最短路
%D为赋权邻接矩阵
%d为s到其它各点最短路径的长度
%DD记载了最短路径生成树
[m,n]=size(D);
d=inf.*ones(1,m);
d(1,s)=0;
dd=zeros(1,m);
dd(1,s)=1;
y=s;
DD=zeros(m,m);
DD(y,y)=1;
counter=1;
while length(find(dd==1))<m
for i=1:m
if dd(i)==0
d(i)=min(d(i),d(y)+D(y,i));
end
end
ddd=inf;
for i=1:m
if dd(i)==0&&d(i)<ddd
ddd=d(i);
end
end
yy=find(d==ddd);
counter=counter+1;
DD(y,yy(1,1))=counter;
DD(yy(1,1),y)=counter;
y=yy(1,1);
dd(1,y)=1;
end
作者:
ywt
时间:
2009-8-23 20:04
好东西,谢谢
作者:
liuren29
时间:
2009-8-23 20:28
O(∩_∩)O谢谢分享
作者:
一直很执着
时间:
2009-8-23 21:26
呵呵~分享了
作者:
yeqingyi
时间:
2009-8-23 22:42
程序写得不错。
作者:
cey1979
时间:
2009-8-23 23:10
乱一点。。。。。。
作者:
tracy513
时间:
2009-8-24 00:38
程序写得不错。
作者:
好学者
时间:
2010-5-10 16:42
谢谢啦,我已经copy下来了!!!!!!!!!!!!!!!
作者:
Young_Dream
时间:
2010-8-11 19:55
谢谢拉,那走了
作者:
滴水
时间:
2010-8-14 11:10
谢谢拉,那走了
作者:
wajm_011
时间:
2010-8-14 16:44
O(∩_∩)O谢谢分享
作者:
fhj567
时间:
2010-8-14 18:00
不错不错~~~~~··
作者:
不会输名字
时间:
2010-8-29 17:12
程序写得不错。
作者:
zengchao133
时间:
2011-7-28 22:43
作者:
ljyxn
时间:
2011-8-2 19:46
不错呀,收藏了先…谢谢啦
作者:
石头@@@
时间:
2012-4-30 00:44
谢谢啦~~哈哈哈哈~~希望用得着
作者:
xx66897182
时间:
2013-7-12 11:15
请问下里面的s怎么表示?
作者:
东洋之话
时间:
2013-8-30 11:13
这个程序有问题 不能运行
作者:
天空和海
时间:
2013-8-30 14:12
好资源
作者:
silverdew0000
时间:
2015-8-22 20:38
为什么运行不出结果呢?
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5