标题: [讨论] 惊暴:dijkstra算法 [打印本页] 作者: mengfanqi 时间: 2005-9-6 20:15 标题: [讨论] 惊暴:dijkstra算法 function f=dijkstra(w) %dijkstra算法 %w为 带权邻接矩阵 n=size(w,1); w1=w(1,; for i=1:n l(i)=w1(i);%此处 l()为v0到v的初始距离 z(i)=1; end s=[];%s(i)为最短路径顺序 s(1)=1; u=s(1); k=1; l z while k<n for i=1:n for j=1:k if i~=s(j) if l(i)>l(u)+w(u,i) % v0到v的距离数组 l(i)=l(u)+w(u,i); z(i)=u; end end end end l z ll=l; %ll为判断数组
for i=1:n for j=1:k if i~=s(j) ll(i)=ll(i); else ll(i)=inf; end end end ll lv=inf; for i=1:n if ll(i)<lv lv=ll(i); v=i; end end lv v s(k+1)=v k=k+1 u=s(k) end l % 得到v0到v的最短路