%1.初始化 T,D
%2.计算 P(1)到 T 各点的最短距离,保存到 D
%3.将 D 中最小的那一项加入到 P,并且从 T 删除这一项。
%4.转到 2,直到 p 包含所有顶点
G=[inf 2 5 3 inf inf inf
inf inf 2 inf inf 7 inf
inf inf inf 1 3 5 inf
inf inf inf inf 5 inf inf
inf inf inf inf inf 1 7
inf inf inf inf inf inf 5
inf inf inf inf inf inf inf];
N=size(G,1); %顶点数
P=1; %源点
T=ones(1,N);
T(P)=0;
%计算和源点最近的点
D=G(P,:);
while 1
D2=D;
for i=1:N
if T(i)==0
D2(i)=inf;
end
end
D2