欢迎来到天天文库
浏览记录
ID:32603120
大小:85.10 KB
页数:6页
时间:2019-02-13
《算法实验报告--dijkstra》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、算法分析与设计实验报告实验名称:Dijkstra实验日期:2011/03/23学生姓名:学生学号:•、实验目的利用贪心算法解决单源最短路径问题,并将两点之间的最短路径打印出来。1、实验环境Windows7+VisualStudio2010三、实验内容1.设计思路输入的代权有向图是G二(V,E),V二{1,2,……,“顶点v是源,c是一个二维数组,c[i][j]表示(ij的权。当(ij怀属于E时zc[i][j]是一个大数(此算法代码中使用10000)。dist[i]表示当前从源到顶点i的最短特殊路径长度。设置一个基点集合S”并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从
2、源到该顶点的最短路径长度已知。初始时,S中仅含有源。设u是G的某—个顶点,我们把从源到u且中间只有经过S中顶点的路称为从源到u的特殊路径,Dijkstra算法每次从并且数组dist来记录当前每个顶点所对应的最短特殊路径长度。V-S中取岀具有最短特殊路径长度的项点u将u添加到S中,同时对数组dist作必要的修改。2.相关模块vtdl3、eA4s:"■鼻►►srireiriH二i//0"4、》的权//初始化•i*=sdr<・4W•H=i圭4逸・v=i〃记录从源到顶点曲勺最短路径上也勺前一个顶点*4靖—:pg0Tls*MI//5、记录当前每个顶点所对应的最短特殊路径长度—.4X■崂IrR^r苹・6、*4sQIHMris・4±•:”X丄〃构建图t■kWHrich*+H>*►►.i〃为•赋值Np严<0^;〃找到单源最短路径,为I数组赋值—■崂乂■崂轴ds■■崂制・》十4■亠由均二IMMi〃表示无限大的数le^.徊:I//记录点■是否为$中的点—.A仁”£仁w^4ri£li*=I-HO<〃对源点与其他点的初始处理IMM=eklHiIsH=b4mi//将0全部初始化■!»MMW^^OiwM://如果与源点不相通则该点前一点为・,否则为源点•Ise7、wUI=viMi>l>—.A«卄.&》仁IMWX””■〃讲源点与其他点的8、距离打印出來IMhJ■〃遍历■次,找出各点之间的关系■kWHrich*=I+H>■^"=1小匸I+V―心鸟I》«j//找出不在$中且故小l—qi的点j*:1i4m9、二IM^Ii10、不在$屮,且■到11、相通,用最短的1—耳1更新源点到点j的最短距离<:IMLI+«LI41Iy:lEi:2nevl^Hi:*■〃務的前一个点设为.MI->〃打印每次加入新点到$屮后源点到各点的报短距离f彳仁"G■^4世.,匸・■)》Ms.》••HX-j仁仆=12、呻匸■*)》11srk^>仁IM^IX””.〃获取点}6*到点般短路径并打印出来13、•;*►►i^^Km14、I>1“》€■专4m15、2=16、BrvHM17、Ii—.4X”4■”X4m18、2i4m19、I-4m20、2i四、实验结果分析及结论FH:C+*AlgorithmsDebugDijkstra.exe.o21、回la&tailIin22、-uithenumberofpoints:51IIII'M1thedistancebetweenthepoints<10000ismaxint>:10=10000U23、1:4:30>i:S:1002;l:100002门:502>1:100002100003:10000{12・10000":100003;U:10•1:100004100004)3:224、01:S:60S:1:10000100005门:10000S>1:10000I<1)101000030100.1Z>010603010025、
3、eA4s:"■鼻►►srireiriH二i//0"
4、》的权//初始化•i*=sdr<・4W•H=i圭4逸・v=i〃记录从源到顶点曲勺最短路径上也勺前一个顶点*4靖—:pg0Tls*MI//
5、记录当前每个顶点所对应的最短特殊路径长度—.4X■崂IrR^r苹・
6、*4sQIHMris・4±•:”X丄〃构建图t■kWHrich*+H>*►►.i〃为•赋值Np严<0^;〃找到单源最短路径,为I数组赋值—■崂乂■崂轴ds■■崂制・》十4■亠由均二IMMi〃表示无限大的数le^.徊:I//记录点■是否为$中的点—.A仁”£仁w^4ri£li*=I-HO<〃对源点与其他点的初始处理IMM=eklHiIsH=b4mi//将0全部初始化■!»MMW^^OiwM://如果与源点不相通则该点前一点为・,否则为源点•Ise
7、wUI=viMi>l>—.A«卄.&》仁IMWX””■〃讲源点与其他点的
8、距离打印出來IMhJ■〃遍历■次,找出各点之间的关系■kWHrich*=I+H>■^"=1小匸I+V―心鸟I》«j//找出不在$中且故小l—qi的点j*:1i4m
9、二IM^Ii10、不在$屮,且■到11、相通,用最短的1—耳1更新源点到点j的最短距离<:IMLI+«LI41Iy:lEi:2nevl^Hi:*■〃務的前一个点设为.MI->〃打印每次加入新点到$屮后源点到各点的报短距离f彳仁"G■^4世.,匸・■)》Ms.》••HX-j仁仆=12、呻匸■*)》11srk^>仁IM^IX””.〃获取点}6*到点般短路径并打印出来13、•;*►►i^^Km14、I>1“》€■专4m15、2=16、BrvHM17、Ii—.4X”4■”X4m18、2i4m19、I-4m20、2i四、实验结果分析及结论FH:C+*AlgorithmsDebugDijkstra.exe.o21、回la&tailIin22、-uithenumberofpoints:51IIII'M1thedistancebetweenthepoints<10000ismaxint>:10=10000U23、1:4:30>i:S:1002;l:100002门:502>1:100002100003:10000{12・10000":100003;U:10•1:100004100004)3:224、01:S:60S:1:10000100005门:10000S>1:10000I<1)101000030100.1Z>010603010025、
10、不在$屮,且■到
11、相通,用最短的1—耳1更新源点到点j的最短距离<:IMLI+«LI41Iy:lEi:2nevl^Hi:*■〃務的前一个点设为.MI->〃打印每次加入新点到$屮后源点到各点的报短距离f彳仁"G■^4世.,匸・■)》Ms.》••HX-j仁仆=
12、呻匸■*)》11srk^>仁IM^IX””.〃获取点}6*到点般短路径并打印出来13、•;*►►i^^Km14、I>1“》€■专4m15、2=16、BrvHM17、Ii—.4X”4■”X4m18、2i4m19、I-4m20、2i四、实验结果分析及结论FH:C+*AlgorithmsDebugDijkstra.exe.o21、回la&tailIin22、-uithenumberofpoints:51IIII'M1thedistancebetweenthepoints<10000ismaxint>:10=10000U23、1:4:30>i:S:1002;l:100002门:502>1:100002100003:10000{12・10000":100003;U:10•1:100004100004)3:224、01:S:60S:1:10000100005门:10000S>1:10000I<1)101000030100.1Z>010603010025、
13、•;*►►i^^Km
14、I>1“》€■专4m
15、2=
16、BrvHM
17、Ii—.4X”4■”X4m
18、2i4m
19、I-4m
20、2i四、实验结果分析及结论FH:C+*AlgorithmsDebugDijkstra.exe.o
21、回la&tailIin
22、-uithenumberofpoints:51IIII'M1thedistancebetweenthepoints<10000ismaxint>:10=10000U
23、1:4:30>i:S:1002;l:100002门:502>1:100002100003:10000{12・10000":100003;U:10•1:100004100004)3:2
24、01:S:60S:1:10000100005门:10000S>1:10000I<1)101000030100.1Z>0106030100
25、
此文档下载收益归作者所有