1 题号:第七题题目:校园导航问题1,需求分析:设计你的学校的平面图,至少包括10 个以上的景点(场所),每两个景点间可以有不同的路,且路长也可能不同,找出从任意景点到达另一景点的最佳路径(最短路径)。要求:(1)以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。(2)为来访客人提供图中任意景点相关信息的查询。(3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。(4)修改景点信息。实现提示:一般情况下, 校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。选做内容:(1)提供图的编辑功能:增、删景点;增、删道路;修改已有信息等。(2)校园导游图的仿真界面。2,设计:2.1 设计思想:<1>,数据结构设计:(1)图。采用邻接矩阵存储,其中图所用到的结构体为:typedef struct { SeqList vertices; //表示图中的顶点int Edge[MaxVertices][MaxVertices]; //表示图中的边int numOfEdge; //表示图中边的数目}AdjMGraph; (2)景点。用顺序表存储。所用到的结构体为:typedef struct { char name[20]; //顶点名称int code; //顶点代号char introduction[50]; //顶点信息简介}DataType; 2 (3)景点之间的连接描述,所用到的结构体为:typedef struct { int row; int col; int weight; }RowColWeight; 用图来存放所提供的所有景点,然后用线性表来存放每一个景点的信息,其中包括景点的名称,代号,信息简介,以及其它的一些信息。这样就将对景点的操作,变成对图中各顶点的操作。<2>,算法设计:关于本课题的算法,很大部分来源于这学期数据结构课程的学习,其中包括:图的创建,线性表的一些操作。对于具体的问题实现,都有不同的算法,在下面的分析中,我将详细说明2.2 设计表示:<1>, 函数调用关系及函数说明:首先, main() 函数调用 Creat()函数,用来创建图,然后调用 menu()函数来选择用户所要进行的操作。其中menu()函数就是一个菜单供使用者来选择他所要进行的相关操作,比如信息的查询,最短路径查询之类。对于要求 1:以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。图的创建设计流程图为:Creat() 函数原型为:void Creat(AdjMGraph *G, DataType v[], RowColWeight E[], int n,int e) ...