校园导游咨询课程设计.docVIP

  • 56
  • 0
  • 约1.88万字
  • 约 27页
  • 2017-02-08 发布于重庆
  • 举报
校园导游咨询课程设计

淮 海 工 学 院 计算机工程学院 课程设计报告 设计名称: 数据结构课程设计 选题名称: 校园导游咨询 姓 名: 李晨 学 号: 2012122663 专业班级: 计算机科学与技术 网络122班 系 (院): 计算机工程学院 设计时间: 2013.12.23~2013.1.3 设计地点: 软件工程实验室、教室 指导教师评语: 签名: 年 月 日 1.课程设计目的 1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发, 3.课程设计说明书 一 需求分析 用无向网表示淮海工学院的校园景点平面图,图中顶点表示主要景点,存放景点编号、名称、简介等信息,图中边表示景点间的道路,存放路径长度信息。 [ 基本要求主程序模块 带权无向图模块 三 详细设计 (重点设计每一个功能模块的实现算法和数据库关系表的结构定义等) 1.图的基本操作: void CreateUDN(int v,int a); // 造图函数 路径类型: typedef struct ArcCell{ int adj; // 相邻接的景点之间的路程 }ArcCell; // 定义边的类型 typedef struct VertexType{ int number; // 景点编号 char *sight; // 景点名称 char *description; // 景点描述 }VertexType; //定义顶点的类型 typedef struct{ VertexType vex[NUM]; // 图中的顶点,即为景点 ArcCell arcs[NUM][NUM]; // 图中的边,即为景点间的距离 int vexnum,arcnum; // 顶点数,边数 }MGraph; // 定义图的类型 相关的基本操作有: void Searchpath1(MGraph G) //输出两个顶点之间的所有路径。 void path(MGraph G,int i,int j,int k) //i为要查询是起始点,j为要查询的终点,相当于深度优先遍历 //确定路径上第k+1个顶点的序号,k初始值为0 void disppath(MGraph G,int i,int j) //找到从vi到vj的所有路径并输出 其中部分操作的伪代码如下: void path(MGraph G,int i,int j,int k) //i为要查询是起始点,j为要查询的终点,相当于深度优先遍历 //确定路径上第k+1个顶点的序号,k初始值为0 { int s; if(x[k]==j)//找到一条路径,初始x[0]=i { a++;//路径的条数值加1 printf(第%d条:,a); for(s=0;s=k-1;s++)//输出一条路径 printf(%s-,G.vex[x[s]].sight); printf(%s\n,G.vex[x[s]].sight); } s=0; while(sG.vexnum) { if(s!=i)//保证找到的是简单路径 { if(G.arcs[x[k]][s].adj!=20000visited[s]==0) //当vk与vs之间有边存在且vs未被访问过 { visited[s]=1;/*置访问标志位为1,即已访问的 x[k+1]=s;//将顶点s加入到x数组中,在以s为起点找下一个顶点 path(G,i,j,k+1);//递归调用之 visited[s]=0;//重置访问标志位为0,即未访问的,以便该顶点能被重新使用

文档评论(0)

1亿VIP精品文档

相关文档