基于无向图的校园导游系统_数据结构课程设计报告(编辑修改稿)内容摘要:
{ if(k 5 == 0) { coutendl。 cout39。 \t39。 [k].name。 } else { cout39。 \t39。 [k].name。 } }将景点的名称打印在显示屏上,最后是一个 switch()。 的选择语句,提示游客根据选择来进入到相关的操作界面实现程序的基本功能。 查找介绍函数的详细设计 当游客选择了要查找景点的信息的介绍这一项功能的时候,程序就会调用DisIntroduction(G)。 函数进入到查找景点的介绍的界面,当游客输入了需要查找的景点的名称的时候,程序利用 for()。 循环语句来查找是否有这个景点for(int i=0。 i。 i++) { int m = strcmp([i].name,n1)。 if(m==0) { v1=i。 count1=count1+1。 } 重庆科技学院 本科生课程设计 详细设计 6 },找到将它的编号返回,并输出它的介绍,没有找到这输出错误提示,提醒游客进行相关的操作进入正确的操作过程当中。 查找最短路径函数的详细设计 当游客选择了要查找两个景点之间的最短距离这一项功能的时候,程序就会调用 DisPath(G);函数进入到查找两个景点之间的最短距离的操作界面当中,当游客输入了两个景点的名称过 后,程序会调用 strcmp()。 函数查看是否有这两个景点,如果有则返回他们各自的编号,并调用 ShortPath_DIJ(G,v1,v2)。 函数进入到查找最短路径问题的程序当中。 for(v=0。 v。 v++)//各对节点之间初始已知路径及距离 { final[v]=FALSE。 //从 V出发的最短路径的空集合 D[v]=[v0][v]。 //从 V 出发到图上其余各个定点 v0 可能到达的最短路径的初始值 for(w=0。 w。 w++) { P[v][w]=FALSE。 //设空路径 } if(D[v]MAXNUM) { P[v][v0]=TRUE。 P[v][v]=TRUE。 } } D[v0]=0。 final[v0]=TRUE。 int a[20]。 for(i=0。 i。 i++)//对 Path[i][j]进行初始化,使其值全部为 1000,便于后期的判断 { for(j=0。 j。 j++) { Path[i][j]=1000。 } } for(i=0。 i。 i++)//对数组进行初始化,以便对 Path[i][j]进行描述 { a[i]=1。 重庆科技学院 本科生课程设计 详细设计 7 } for(v=0。 v。 v++)//各条路线的初始节点为 v0 { Path[v][0]=v0。 } //开始主循环,每次求解得到 v0 到某个 v 顶点的最短路径,并加入到 S 集合中 for(i=1。 i。 i++)//其余 1个顶点 { m=MAXNUM。 //当前所知的离 v0最近的距离 for(w=0。 w。 w++) { if(!final[w])//w 顶点在 VS中 { if(D[w]m)//w 顶点离 v0顶点更近 { v=w。 m=D[w]。 } } } Path[v][a[v]]=v。 //离 v0 顶点最近的 v 加入 s集合 final[v]=TRUE。 for(w=0。 w。 w++)//更新当前最短路径及距离 { if((!final[w])amp。 amp。 (m+[v][w]D[w])) { D[w]=m+[v][w]。 //修改当前的最短路径的值 int k0=1。 a[w]=1。 while(Path[v][k0]!=1000) //如果上述条件成立, Path[w]路径需要改变,因为从 v0 到 w 的路径显然经过了 v0 和 v 之间的所有的点(包括 v) { Path[w][k0]=Path[v][k0]。 k0++。 a[w]++。 } } } } cout两个景点之间的最短路径为 :39。 \t39。 int k=0。 while(Path[v2][k]!=1000) 重庆科技学院 本科生课程设计 详细设计 8 { int m=Path[v2][k]。 cout[m].name39。 \t39。 k++。 } coutendl。 cout两个景点之间的最短距离为 : D[v2]Mendl。 cout请选择要进行的操作 (I:查询景点信息, P:查询两个景点之间的最短路径, Q:退出 )endl。 (1)假设用带权的邻接矩阵 arcs 来表示带权的有向图, arcs[i][j]表示弧( vi,vj)上的权值。 若 (vi,vj)不存在,则置 arcs[i][j]为无穷大。 S为已找到从 v 出发的最短路径的终点集合,它的初始状态为空集。 那么,从 v 出发到图上其余各个定点 vi可能到达的最短路径长度的初始值为: D[i] = arcs[v][i]。 (2)选择 vj,使得 D[j] = Min{D[i] | vi ∈ V – S}vj 就是当前求得的一条从 v 出发的最短路径的终点。 令 S = S ∪ {j}。 (3)修改从 v 出发到集合 V – S 上任意顶点 vk可到达的最短路径的长度。 如果 D[j] + arcs[j][k] D[k]则修改 D[k]为 D[k] = D[j]+arcs[j][k]。 (4)重复操作 (2)、 (3)共 n – 1 次,由此求得从 v 到图上其余各个顶点的最短路径是依路径长度递增的序列。 从而求得了从一个景点到另一个景点的最短路径的问题。 退出函数的详细设计 对于退出函数,当游客选择了退出这一个操作的时候,程序就会调用 Exit()。 函数从而进入到退出函数的界面 void Exit() //退出 { cout欢迎下次继续使用 !endl。 exit(0)。 }程序会提示游客感谢使 用,欢迎下次继续使用的提示语,然后调用 exit(0)。 函数实现退出主函数的功能。 数据结构的详细设计 本软件的数据结构包括 3 个部分: 1. 邻接矩阵 重庆科技学院 本科生课程设计 详细设计 9 typedef int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]。 定义一个 邻接矩阵 ,用 邻接矩阵 来定义和储存边的相关信息。 2. 顶点的结构体 typedef struct Vertex//定义图中顶点的数据类型 { int num。 //景点编号 char name[14]。 //景点名称 char introduction[100]。 //景点介绍 }Vertex。 定义一个顶点的结构体,用来储存景点的编号、景点得名称和景点的介绍等关于景点的信息。 typedef struct //定义图的数据类型 { Vertex vexs[MAX_VERTEX_NUM]。 //顶点的结构体 AdjMatrix arcs。 //边的 邻接矩阵 int vexnum,arum。 //顶点的个数,边的个数 }MGraph。 定义一个图的结构体,用来储存顶点的信息、边的信息、顶点的个数和边的个数等相关的信息便于我们以后在用的时候能够方便快捷的调用。 定义好这些结构体后,当我们以后需要调用的时候,我们就能够方便快捷的调用这些结构体,从而使得我们在运行程序的时候能够更加的快速能够提高我们的程序的运行效率,大大的节省了我们的时间还使得程序变得更加的简单。 重庆科技学院 本科生课程设计 软件测试 10 4 软件 测试。基于无向图的校园导游系统_数据结构课程设计报告(编辑修改稿)
相关推荐
系统所不同之处。 本设计的内容主要分为三部分:一、智能小车部分 —— 小车安装寻迹模块,实现小车的智能寻迹行走功能,安装避障模块,实现智能避障 5 功能。 同时通 过 DHT11模块,采集各点的温湿度数据;二、远程控制系统 —— 小车通过 NRF24L01模块集合上位机软件或控制台实现小车的远程控制功能;无线传输系统 —— 小车通过搭载摄像头和无线视频传输系统实现图像视频的无线传输功能
HE 00 me pp ( ) 电流元和磁流元的对偶性 对于载有高频电流的电流元来说,它两端等量异号的电荷也随时间发生变化,因而相当于一个高频的电偶极子 [21]。 假设电流元由理想导体构成,其长度 l 远远小于工作波长,表面流过正方向向上的电流量值为 eI ,则其辐射场为: 基于时域有限差分法的缝 隙天线的分析与设计 5
三、 AD 转换系统 ADC0832 与单片机的接口电路: 大学本科毕业设计(论文) 10 正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、 CLK、 DO、DI。 但由于 DO 端与 DI 端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O 口资源紧张时可以将 DO 和 DI 并联在一根数据线上使用。 当 ADC0832 未工作时其CS 输入端应为高电平
族是否构成正交性 ,若信号损失部分后仍 能传递同样的信息量 ,则称此信号有冗余,冗 余的大小程度称为冗余度。 连续小 波变换的尺度因子 a和移位因子 b都是连续变化的 ,冗余度很大,为了减小冗余 度 ,可以将尺度因子a 和移位因子 b 离散化。 现在的问题是 ,怎样离散化才能得 到构成空间 )(2 RL 的正交小波基。 由连续小波变换的时 — 频分析得知 质因数不变 ,因此我们可以对尺度因子
,而高频声波在空气中很快就衰减了。 (2) 植被和气流的吸收 声波在大气中传播同时还要受到地面植被吸收和气流吸收,植被声吸收系数在高频段较大,低频段很小,在传播距离小于 200m 时,植被吸收系数很小。 [4] 环境对声传播的影响 声波在大气中传播时,除了球面波发散引起的声衰减以及由于声波的反射、衍射和散射引起的损失外,还有由环境和其他条件引起的逾量衰减,它包括下述几种因素:雨、雪、雾等气象条件
为窗长至少应大于两个基音周期。 窗长应该选的更长一些,避免第一最大峰值点与基音周期不一致,窗长长了就可以更清楚的了解自相关函数的波形,更有利于检测。 计算起来不方便,近年来高速数字信号处理 器 (DSP)的使用,使让这一算法简单有效。 N 越小,误差越大,好处是运算时较简便。 所以要选择适当的 N 值。 用短时平均能量进行清 /浊音的判断 在基音检测的同时,应进行清 /浊音判断,因为可将浊音