码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构实践项目——最短路径和拓扑序列

时间:2015-11-15 10:56:10      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:数据结构   算法   最短路径   拓扑序列   

本文是针对[数据结构基础系列(7):图]的第2组实践例程。

(程序中graph.h是图存储结构的“算法库”中的头文件,详情请单击链接…

0710 生成树的概念
0711 最小生成树的普里姆算法
0712 最小生成树的克鲁斯卡尔算法
0713 从一个顶点到其余各顶点的最短路径
0714 每对顶点之间的最短路径
0715 拓扑排序
0716 AOE网与关键路径

纸上谈兵:“知原理”检验题目
1、针对下面的图1:
技术分享(图1)
(1)写出图的邻接矩阵;
(2)按照Prim算法的思想,构造出最小生成树;
(3)对照Prim算法的实现,以上图作为参数g的值,用“画一画”的路线,走一遍算法,画出lowest[]和closest[]两个辅助数组的变化过程,“观察”算法执行的过程,从而达到掌握算法的目的;
(4)按照Kruskal算法的思想,构造出最小生成树;
(5)对照Kruskal算法的实现,以上图作为参数g的值,用“画一画”的路线,走一遍算法,画出E[]和vest[]两个辅助数组的变化过程,“观察”算法执行的过程,达到掌握算法的目的;
2、针对下面的图2
技术分享(图2)
(1)写出图的邻接矩阵;
(2)按照Dijkstra算法的步骤,求出从顶点0到其余所有顶点的最短路径;
3、某乡有A、B、C、D四个村庄,图3中标识了各村之间的距离。现在要在某村庄修建中心俱乐部,请采用Floyd算法
技术分享(图3)
(1)求出各村庄之间的最短路径;
(2)俱乐部的选址,应该使各村到俱乐部的距离之和最小,该选哪个村?
(3)写出各村到中心俱乐部的路径和路径长度。
4、针对下面的图4,尽可能多地写出其拓扑序列
技术分享(图4)

课后上机实践
【项目 - 验证算法】运行并本周视频中所讲过的算法,观察结果并领会算法。
(1)Prim算法的验证(使用图1作为测试用例)
(2)Kruskal算法的验证(使用图1作为测试用例)
技术分享(图1)
[参考解答: (1) (2)]

(3)Dijkstra算法的验证(使用图2作为测试用例)
技术分享(图2)
[参考解答 ]

(4)Floyd算法验证(使用图3作为测试用例)
技术分享(图3)
[参考解答 ]

(5)拓扑排序算法验证(使用图4作为测试用例)
技术分享(图4)
[参考解答 ]

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构实践项目——最短路径和拓扑序列

标签:数据结构   算法   最短路径   拓扑序列   

原文地址:http://blog.csdn.net/sxhelijian/article/details/49847311

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!