数学建模社区-数学中国
标题:
基于matlab Dijkstra算法的实现
[打印本页]
作者:
zzh121300
时间:
2009-3-26 14:41
标题:
基于matlab Dijkstra算法的实现
function [l,z]=Dijkstra(W)
: X( @" Q( i' ~! p, ^
n = size (W,1);
/ [7 Q9 i# b! E0 S8 g8 K
for i = 1 :n
Z ?: i' x4 k- P5 h
l(i)=W(1,i);
- J9 @2 j# {. S" _( h% v
z(i)=1;
) R) W! c& I# N5 m' o7 v7 s
end
# t, m0 a5 Y; p) s
i=1;
: g9 A6 e9 l; _) g7 w' _
while i<=n
E4 k4 i5 K/ j' [7 C: l0 ]% T
for j =1 :n
; P5 E( T) _) B5 h- o5 X: C5 t
if l(i)>l(j)+W(j,i)
3 X: _7 T6 G& j1 G
l(i)=l(j)+W(j,i);
4 ~3 \ i# G ^: \5 ~
z(i)=j;
; o9 R: y' L9 ^& l
if j i=j-1;
0 L9 y3 j5 M# w1 R+ \) S
end
3 A6 b6 \7 W! q4 s% r/ i
end
. O; H& t& p3 W3 E5 [$ r
end
K% E/ f/ E: E& {
i=i+1;
- Y, D) q9 U& \. ^+ S; N' y% S1 n
end
: v* z9 i7 k# a- u5 o' _ Z# s4 p
% W =[ 0 2 1 8 Inf Inf Inf Inf
% r; m" x6 @0 u) G1 k0 T
% 2 0 Inf 6 1 Inf Inf Inf
_/ h' {5 l$ _/ O$ l
% 1 Inf 0 7 Inf Inf 9 Inf
5 n8 Y, `' i3 |
% 8 6 7 0 5 1 2 Inf
2 Z- ]0 H& R/ _" F0 W
% Inf 1 Inf 5 0 3 Inf 9
& o* h) i& I2 H: i
% Inf Inf Inf 1 3 0 4 6
, D+ p- Z$ p+ \. S5 c2 p
% Inf Inf 9 2 Inf 4 0 3
3 P [! e. Y9 X9 _: j% d
% Inf Inf Inf Inf 9 6 3 0 ];
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5