jianjian1981 发表于 2006-8-22 21:33
有没有人知道呀jinfly4997 发表于 2006-8-23 22:22
<p>我在这个网站上发过一些,你可以侃侃</p>xuemingrui 发表于 2006-9-10 13:37
<p>我也想要!!!</p>xuemingrui 发表于 2006-9-10 13:40
<p>任意两点间的最短距离dijkstra算法</p><p>%clear<br/>%d=<br/>%算法:当某点被选做新顶点时,则此时的P值为原始起点到此点的最短距离。<br/>function =dijkstra(A)<br/>% i 为起点,k为终点<br/>P=zeros(length(A));<br/>for i=1:length(A) <br/> pb=zeros(length(A));%用来判断是否选过,选过为1,未选为0<br/> k=i;<br/> P(i,k)=0;<br/> pb(i,k)=1;<br/> T=inf*ones(length(A));<br/> e=sum(pb,2);<br/> while e(i,1)<length(A)<br/> c=find(pb(i,1:length(A))==0);%寻找没考察的点<br/> for x=1:length(c)<br/> T(i,c(x))=min(T(i,c(x)),(P(i,k)+A(k,c(x))));<br/> end<br/> B=c;<br/> if length(c)~=1 %比较选择最小值,及顶点做为新起点<br/> a=T(i,c(1));<br/> b=B(1);<br/> for m=2:length(c)<br/> if a>T(i,c(m))<br/> a=T(i,c(m));<br/> b=B(m);<br/> else continue;<br/> end<br/> end <br/> k=b; <br/> P(i,k)=a;<br/> pb(i,k)=1;<br/> else<br/> P(i,c(1))=T(i,c(1));<br/> k=c(1); <br/> pb(i,k)=1;<br/> end<br/> e=sum(pb,2);<br/> end <br/>end<br/>d=P;<br/>%路径的表示<br/>for i=1:length(P)<br/> for j=1:length(P)<br/> path{i,j}=strcat(num2str(i),'-',num2str(j));<br/> end<br/>end<br/>for i=1:length(P)<br/> for j=1:length(P)<br/> v(i,j)=j;<br/> end<br/>end<br/>for i=1:length(P)<br/> u=P(i,1);<br/> w=v(i,1);<br/> for j=1:length(P)-1<br/> for n=j+1:length(P)<br/> if P(i,j)>P(i,n)<br/> u=P(i,j);P(i,j)=P(i,n);P(i,n)=u;<br/> w=v(i,j);v(i,j)=v(i,n);v(i,n)=w;<br/> else continue<br/> end<br/> end<br/> end<br/>end<br/>for i=1:length(P)<br/> for j=1:length(P)<br/> for n=1:j-1<br/> if d(v(i,1),v(i,n))+A(v(i,n),v(i,j))==d(v(i,1),v(i,j))<br/> if v(i,1)~=v(i,n);<br/> path{v(i,1),v(i,j)}=strcat(strrep(path{v(i,1),v(i,n)},strcat('-',num2str(v(i,n))),'-'),path{v(i,n),v(i,j)}); <br/> else v(i,1)==v(i,n);<br/> path{v(i,1),v(i,j)}=path{v(i,n),v(i,j)};<br/> end<br/> end<br/> end<br/> end<br/>end</p><p> % 结果:d =</p><p> %0 7 5 3 9<br/> %7 0 2 4 6<br/> %5 2 0 2 4<br/> %3 4 2 0 6<br/> %9 6 4 6 0</p><p><br/>%path = </p><p> % '1-1' '1-4-3-2' '1-4-3' '1-4' '1-4-3-5'<br/> %'2-3-4-1' '2-2' '2-3' '2-3-4' '2-3-5' <br/> % '3-4-1' '3-2' '3-3' '3-4' '3-5' <br/> % '4-1' '4-3-2' '4-3' '4-4' '4-3-5' <br/> % '5-3-4-1' '5-3-2' '5-3' '5-3-4' '5-5' <br/> <br/></p>kant 发表于 2006-9-12 11:06
我也需要!!131421yuan 发表于 2006-9-12 22:14
<p>有呀 ,找我呀!</p>131421yuan 发表于 2006-9-12 22:20
今天没时间了,明天给大家传!haha_98 发表于 2006-10-11 07:41
<p>我有这本书英文版的 费解啊</p>wangfs111222 发表于 2006-10-21 08:10
顶.....fengling981825 发表于 2006-10-28 18:29
<p>好书。去图书馆借来看看</p>