下载此文档

校园导游系统 数据结构实习报告.doc


文档分类:办公文档 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
西安郵電學院数据结构设计报告题目:校园导游系统院系名称:计算机学院专业名称:计算机科学与技术班级:学生姓名:学号(8位):指导教师:设计起止时间:2011年12月12日~,对数据结构的算法思想要有更深的理解。2通过课程设计,学会通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。3学会综合运用数据结构课程中图类型数据结构,组建一个较为完整的系统。,()()任意两个地点之间最短路径算法least()两个地点之间中转最少算法main()主函数xiaoyuantu()校园概略图shuchu()校园的全部信息输出CreatUDN()创建图DFS_path()()DFS_path()ShortestPath_Floyd()CreatUDN()least()xiaoyuantu()xiaoyuantu(xiaoyuantu()xiaoyuantu()Shuchu()all_path()()开始输入始末点弗洛伊德输出最短路径结束allpath()开始输入始末点all_path()DFS_path()输出所有路径结束least()开始输入始末点least()(AdjMg,intm,intn,intk){ints;if(pre[k]==n&&k<11)//pre[k]存储路径顶点若pre[k]是终点,则输出该路径{//递归出口,找到一条路径for(s=0;s<k;s++)printf("%s>>>>>",[pre[s]].name);//输出该路径。s=0时为起点mprintf("%s",[pre[s]].name);//输出最后一个景点名(即顶点n的名字,此时s==k)printf("\n\n");}else{s=0;while(s<)//从第m个顶点,试探至m到其他顶点是否有路径{if(([pre[k]][s].adj<INFINITY)&&(visited[s]==0))//顶点k到顶点s有边,且未被访问{visited[s]=1;pre[k+1]=s;//存储顶点编号s至pre[k+1]中DFS_path(g,m,n,k+1);//求从下标为k+1的pre[k+1]个顶点开始的路径(递归调用),同时打印出一条m至n的路径visited[s]=0;//将找到的路径上顶点的访问标志重新设置为0,以用于试探新的路径}s++;//试探从下一个顶点s开始是否有到终点的路径}}}voidall_path(AdjMg){inti,m,n;printf("\n\n请输入你要查询的两个景点编号:\n\n");scanf("%d%d",&m,&n);printf("\n\n");pre[0]=m;//存储路径起点ufor(i=0;i<;i++)//全部顶点访问标志初值设为0visited[i]=0;visited[m]=1;//表示已经访问过DFS_path(g,m,n,0);//对应起点pre[0]==u}任意两个地点之间最短路径算法ShortestPath_Floyd(AdjM*g)//弗洛伊德算法{inti,k,j,l,flag=1,path[maxnum][maxnum][maxnum],dist[maxnum][maxnum];//path[][][]三维数组保存任意两个顶点之间的最短路径,如果P[i][j][l]为1,那么l是从i到j的路径上的一个顶点//dist[][]二维数组保存任意两个顶点之间的最短路径的权值printf("景点编号如下:\n");for(i=0;i<g->vexnum;i++) printf("%-4d%-15s\n",i,g->vertex[i].name);for(i=0;i<g->vexnum;i++)for(j=0;j<g->vexnum;j++){dist[i][j]=g->arcs[i][j].adj;//从i到j的直接路径为弧i--j的权值for(l=0;l<g->v

校园导游系统 数据结构实习报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小308 KB
  • 时间2018-11-22