图论算法及其Matlab程序.doc

图论算法及其Matlab程序.doc

ID:50414019

大小:32.00 KB

页数:7页

时间:2020-03-08

图论算法及其Matlab程序.doc_第1页
图论算法及其Matlab程序.doc_第2页
图论算法及其Matlab程序.doc_第3页
图论算法及其Matlab程序.doc_第4页
图论算法及其Matlab程序.doc_第5页
资源描述:

《图论算法及其Matlab程序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、求单源最短路径的Dijkstra算法的Matlab程序function[dindex1index2]=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;whilesum(pb)

2、==min(d(tb)));temp=tb(tmpb(1));pb(temp)=1;index1=[index1,temp];index=index1(find(d(index1)==d(temp)-a(temp,index1)));iflength(index)>=2index=index(1);endindex2(temp)=index;endd;index1;index2;求任意两点间最短路的Floyd算法的Matlab程序function[D,R]=floyd(a)n=size(a,1);D

3、=a;fori=1:nforj=1:nR(i,j)=j;endendfork=1:nfori=1:nforj=1:nifD(i,k)+D(k,j)1returnendn=max(max(E(:,1:2)));

4、m=size(E,1);fori=1:nb(i)=0;forj=1:mifE(j,1)==i

5、E(j,2)==ib(i)=b(i)+1;endendendrp=rem(b,2);srp=sum(rp);switchsrpcase0,eu=1;case2,eu=0.5;otherwise,returnendifsrp==0v1=1;elsev1=find(rp);v1=v1(1);endvc=v1;m=size(E,1);E1=[E(:,1:2),[1:m]'];while~isempty(E1)ev

6、c=find((E1(:,1)==vc)

7、(E1(:,2)==vc));levc=length(evc);iflevc==1cEu=[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;ifvc>vcoldvc=vc-1;endifv1>vcoldv1=v1-1;en

8、delsefork=1:levcE2=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;endendendendreturn求最小生成树的Prim算法的Matlab程序function[Te]=prim(a)T=[];e=0;v=1;n=size(a,1);c=2:n;f

9、orj=2:nb(1,j-1)=1;b(2,j-1)=j;b(3,j-1)=a(1,j);endwhilesize(T,2)

10、Matlab程序function[Tc]=kruskal(a)n=size(a,1);m=0;fori=1:n-1forj=i+1:nifa(i,j)>0&a(i,j)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。