資源簡介
圖搜索最短路徑源代碼matlab,找出兩結點見最短路徑
代碼片段和文件信息
%最短路徑算法
clearclc
G=[
????0?20?50?30?inf?inf?inf?;
????inf?0?25?inf?inf?70?inf;
????inf?inf?0?40?25?50?inf;
????inf?inf?inf?0?55?inf?inf;
????inf?inf?inf?inf?0?10?70;
????inf?inf?inf?inf?inf?0?50;
????inf?inf?inf?inf?inf?inf?0;
];??%鄰接矩陣?
N=size(G1);?%頂點數
v0=1;?%源點
v1=ones(1N);?%除去原點后的集合
v1(v0)=0;
%計算和源點最近的點
D=G(v0:);
while?1
????D2=D;
????for?i=1:N
????????if?v1(i)==0
????????????D2(i)=inf;
????????end
????end
????D2
????[Dmin?id]=min(D2);
????if?isinf(Dmin)break
評論
共有 條評論