2实验5 最短路求解的编程实现.docx
《2实验5 最短路求解的编程实现.docx》由会员分享,可在线阅读,更多相关《2实验5 最短路求解的编程实现.docx(15页珍藏版)》请在冰点文库上搜索。
2实验5最短路求解的编程实现
实验5最短路问题的编程实现
成绩
专业班级数学111班学号201112010129姓名张诚报告日6.16.
实验类型:
●验证性实验○综合性实验○设计性实验
实验目的:
熟练最短路问题的floyd算法。
实验内容:
最短路问题的floyd算法。
实验原理最短路问题的floyd算法:
从邻接矩阵出发,利用三角和算法不断加入点,对距离矩阵进行修正,直到所有的点都加完,即求出了任意两点间的最短距离矩阵。
实验步骤
1要求上机实验前先编写出程序代码
2编辑录入程序
3调试程序并记录调试过程中出现的问题及修改程序的过程
4经反复调试后,运行程序并验证程序运行是否正确。
5记录运行时的输入和输出。
预习编写程序代码:
实验报告:
根据实验情况和结果撰写并递交实验报告。
实验总结:
D为任意两点的最短路。
参考程序
function[D,S]=floyd(d)
ss=size(d)
s=ones(ss)
n=ss
(1)
fori=1:
n
forj=1:
n
s(i,j)=j
end
end
fork=1:
n
fori=1:
n
forj=1:
n
ifd(i,j)>d(i,k)+d(k,j)
d(i,j)=d(i,k)+d(k,j)
s(i,j)=s(i,k)
end
end
end
end
D=d
S=s
>>d=[012447;inf03356;infinf0225;infinfinf0inf3;infinfinfinf06;infinfinfinfinf0]
d=
012447
Inf03356
InfInf0225
InfInfInf0Inf3
InfInfInfInf06
InfInfInfInfInf0
>>[D,S]=floyd(d)
ss=
66
s=
111111
111111
111111
111111
111111
111111
n=
6
s=
111111
111111
111111
111111
111111
111111
s=
121111
111111
111111
111111
111111
111111
s=
123111
111111
111111
111111
111111
111111
s=
123411
111111
111111
111111
111111
111111
s=
123451
111111
111111
111111
111111
111111
s=
123456
111111
111111
111111
111111
111111
s=
123456
111111
111111
111111
111111
111111
s=
123456
121111
111111
111111
111111
111111
s=
123456
123111
111111
111111
111111
111111
s=
123456
123411
111111
111111
111111
111111
s=
123456
123451
111111
111111
111111
111111
s=
123456
123456
111111
111111
111111
111111
s=
123456
123456
111111
111111
111111
111111
s=
123456
123456
121111
111111
111111
111111
s=
123456
123456
123111
111111
111111
111111
s=
123456
123456
123411
111111
111111
111111
s=
123456
123456
123451
111111
111111
111111
s=
123456
123456
123456
111111
111111
111111
s=
123456
123456
123456
111111
111111
111111
s=
123456
123456
123456
121111
111111
111111
s=
123456
123456
123456
123111
111111
111111
s=
123456
123456
123456
123411
111111
111111
s=
123456
123456
123456
123451
111111
111111
s=
123456
123456
123456
123456
111111
111111
s=
123456
123456
123456
123456
111111
111111
s=
123456
123456
123456
123456
121111
111111
s=
123456
123456
123456
123456
123111
111111
s=
123456
123456
123456
123456
123411
111111
s=
123456
123456
123456
123456
123451
111111
s=
123456
123456
123456
123456
123456
111111
s=
123456
123456
123456
123456
123456
111111
s=
123456
123456
123456
123456
123456
121111
s=
123456
123456
123456
123456
123456
123111
s=
123456
123456
123456
123456
123456
123411
s=
123456
123456
123456
123456
123456
123451
s=
123456
123456
123456
123456
123456
123456
D=
012447
Inf03356
InfInf0225
InfInfInf0Inf3
InfInfInfInf06
InfInfInfInfInf0
S=
123456
123456
123456
123456
123456
123456
D=
012447
Inf03356
InfInf0225
InfInfInf0Inf3
InfInfInfInf06
InfInfInfInfInf0
S=
123456
123456
123456
123456
123456
123456