实践目的或任务:
通过指导学生上机实践,对图的基本概念,以及图的最小生成树和最短路径的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。
实践基本要求:
1、了解实验目的及实验原理;
2、编写程序,并附上程序代码和结果图;
3、总结在编程过程中遇到的问题、解决办法和收获。
实践的内容或要求:
1、基本操作(必做部分)
(1)编写用邻接矩阵表示无向带权图时图的基本操作的实现函数,主要包括:①初始化邻接矩阵表示的无向带权;②建立并输出邻接矩阵表示的无向带权图; ③编写生成最小生成树的Prim算法函数以及输出边集数组的函数;(2)利用邻接矩阵构造有向带权图,并求出某一顶点到其余顶点的最短路径;编写求最短路径的DijKstra算法函数,该算法求从顶点i到其余顶点的最短路径与最短路径长度;(3)编写打印输出从源点到每个顶点的最短路径及长度的函数; (4)给出测试代码。
2、校园景点规划和导游的系统设计(四选一选做部分)
(1)设计你所在学校的校园平面图,所含景点不少于10个。
(2)在n个校园景点之间要先建设通信网络,只需要假设n-1条线路即可。如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题,利用最小生成树的Prim算法求解。通信线路一旦建立,必然是双向的,因此,构造最小生成树的网一定是无向网;设图的顶点数不超过30个,且网中的权值设成小于100的整数,可用随机函数产生。
(2)以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度的相关信息。①为来访客人提供图中任意景点的相关信息查询;②为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短路径;③提供图中任意景点问路查询,即求任意两个景点之间的所有路径。
(4)设计并实现类的设计与类的使用分离的交互友好的原型系统。
链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
提取码:1111