2022年最长路算法和最短路算法matlab整理 .pdf
-
资源ID:32169030
资源大小:30.02KB
全文页数:3页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年最长路算法和最短路算法matlab整理 .pdf
*最长路function l,t=dijkstra_long(A,v) n=length(A); V=1:n; s=v; l=A(v,:); t=v.*ones(1,n); ss=setdiff(V,s);nn=length(ss); for j=1:n-1 k=ss(1); for i=1:nn if l(k)l(ss(i)&l(ss(i)=inf k=ss(i); l(k)=l(ss(i); end end if l(k)=inf break; else s=union(s,k); ss=setdiff(V,s); nn=length(ss); end if length(s)=n break; else for i=1:nn if l(ss(i)=inf l(ss(i)=0; end for m=1:nn if l(ss(i)l(ss(m)+A(ss(m),ss(i)&A(ss(m),ss(i)=inf l(ss(i)=l(ss(m)+A(ss(m),ss(i); t(ss(i)=ss(m); end end if l(ss(i)l(ss(i) k=ss(i); l(k)=l(ss(i);%在当前一行距离中取最小值end end if l(k)=inf%如果当前行最小值是无穷大,则结束break; else%否则 k 点的最短路找到s=union(s,k); ss=setdiff(V,s); nn=length(ss); end if length(s)=n%全部点的最短路都找到break; else for i=1:nn%以 k 为生长点,如果通过k 点会更短,则更改当前最短距离if l(ss(i)l(k)+A(k,ss(i) l(ss(i)=l(k)+A(k,ss(i); t(ss(i)=k; end end end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -