电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

图论算法及其Matlab程序VIP免费

图论算法及其Matlab程序_第1页
1/7
图论算法及其Matlab程序_第2页
2/7
图论算法及其Matlab程序_第3页
3/7
求单源最短路径的Dijkstra 算法的Matlab 程序 function [d index1 index2]=Dijkf(a) 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; while sum(pb)=2 index=index(1); end index2(temp)=index; end d; index1; index2; 求任意两点间最短路的Floy d 算法的Matlab 程序 function [D,R]=floyd(a) n=size(a,1); D=a; for i=1:n for j=1:n R(i,j)=j; end end for k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)1 return end n=max(max(E(:,1:2))); m=size(E,1); for i=1:n b(i)=0; for j=1:m if E(j,1)==i|E(j,2)==i b(i)=b(i)+1; end end end rp=rem(b,2); srp=sum(rp); switch srp case 0, eu=1; case 2, eu=0.5; otherwise, return end if srp==0 v1=1; else v1=find(rp); v1=v1(1); end vc=v1; m=size(E,1); E1=[E(:,1:2),[1:m]']; while ~isempty(E1) evc=find((E1(:,1)==vc)|(E1(:,2)==vc)); levc=length(evc); if levc==1 cEu=[cEu;E1(evc,3)]; vcold=vc; vc=sum(E1(evc,1:2))-vc; E1=E1(setdiff([1:size(E1,1)],evc),:); E2=E1(:,1:2); E2gv=E2>vcold; E2(E2gv)=E2(E2gv)-1; E1(:,1:2)=E2; if vc>vcold vc=vc-1; end if v1>vcold v1=v1-1; end else for k=1:levc E2=E1(setdiff([1:size(E1,1)],evc(k)),:); ncv=arComp(E2); nco=max(ncv); if (max(ncv)==1) cEu=[cEu;E1(evc(k),3)]; vc=sum(E1(evc(k),1:2))-vc; E1=E2; break; end end end end return 求最小生成树的 Prim 算法的 Matlab 程序 function [T e]=prim(a) T=[]; e=0; v=1; n=size(a,1); c=2:n; for j=2:n b(1,j-1)=1; b(2,j-1)=j; b(3,j-1)=a(1,j); end while size(T,2)

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

图论算法及其Matlab程序

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群