- 在线时间
- 148 小时
- 最后登录
- 2016-6-1
- 注册时间
- 2011-8-30
- 听众数
- 6
- 收听数
- 0
- 能力
- 4 分
- 体力
- 5335 点
- 威望
- 0 点
- 阅读权限
- 100
- 积分
- 2308
- 相册
- 0
- 日志
- 43
- 记录
- 0
- 帖子
- 1197
- 主题
- 11
- 精华
- 0
- 分享
- 15
- 好友
- 62
升级   10.27% TA的每日心情 | 慵懒 2015-6-9 22:13 |
|---|
签到天数: 155 天 [LV.7]常住居民III
群组: 2012第三期美赛培训 群组: 学术交流A 群组: 学术交流B |
2#
发表于 2012-6-12 18:46
|只看该作者
|
|邮箱已经成功绑定
|
%dijkstra最短路算法通用程序,用于求从起始点s到其它各点的最短路%D为赋权邻接矩阵,d为s到其它各点最短路径的长度,DD记载了最短路径生成树function [d,DD]=dijkstra_aiwa(D,s)[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 |
|