下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告——迷宫求解问题实验上机环境:DevC++二、程序设计相关信息(1)实验题目:迷宫求解问题问题描述:实验题3.5改善节中的求解迷宫问题程序,规定输出如图3.14所示的迷宫的所有途径,并求最短途径长度及最短途径。01?.445(2)实验项目组成:本项目由一个原程序mg.cpp及mg.cxc文献组成。(3)实验项目的程序结构:函数调用关系图:mainOQtrurt舛松依monnth/X余杼两加
(4)实验项目包含的函数的功能描述:mg[M+l][N+l]//构造迷宫二维数组,1表达墙不可走方块,0表达通道mg[M+l][N+l]mgpath(intxi,intyi,intxe,intye)〃求解途径为:(xi,yi)—>(xe,ye)//采用顺序栈存储,进栈,回溯,退栈等(5)算法描述:求解迷宫从入口到出口的所有途径,从入口出发,顺某一个方向向前试探,对于可走的方块都进栈,并将这个可走发方位保存,且t。p+1,然后试探下一个方块,若下一个方块能走通则继续,否则则回溯到前一个方块,且top-U为记录所有的途径调用Path[k]=Stack[k]记录,从次方块向不同方向去试探,已经走过的方块则为不可走方块。最后比较I。P值找到一条最短途径并输出。试探途径过程的算法运用了“广度优先搜索遍历”算法。流程图:for循环mg=0(6)实验数据:迷宫数组如下:intmg[M+l][N+l]={{1,1,1,1,1,1}J1,0,0,0,13},{1,0,1,0,0,1},实验结果:{1,0,0,0,1,1),{1,1,0,0,0,1),(1,1,1,1,1,1)};路径如下:实验结果:1:<1,1><1,2><1,3><2,3><3,3><4,3〉<4,4〉2:<1,1><1,2><1,3><2,3><3,3><3,2X4,2X4,3X4,4>3:<1,1><2,1><3,1><3,2><3,3><4,3><4,4>4:<1,1X2,1X3,1X3,2X4,2><4,3><4,4>最短路径如下:路隹最妞长度:7最短路径路备<12><1,3><2,3><3,3><4,3><4,4>情按任意键继续..<1三、程序代码:#inc1ude<stdio.h>#includc#includc#includc<stdlib.h>#defineM6#define#defineMaxsize100intmg[M+l][N+l]={#includc<stdlib.h>#defineM6U/,l,1,1,1},{1,0.0,0,1,1),{1,0,1,001},{1,0,0,0,1,1),{1,1,0,0,0,11,{1,1,1,1,1,1});struct(inti;intj;intdi;}Stack[Maxsize],Path[Maxsize];inttop=-l;intcount=1;intmin=Maxsize;intmgpath()(inti,j,di,find,k;top++;Stack[top].i=l;Stack[top].j=1;Stack[top].di=-l;mg[1][1]=-1;Prinif("迷宫所有途径如下:'n");whi1e(top>—1)i=Stack|top].i;j=Stack[top],j;di=Stack[top].di;if(i==M-2&&j==N-2)prinlf("%4d:",counl++);for(k=0;k<=top;k++){printf("(%d.%d)",Stack[k].i,Stack[k].j);if((k+l)%5==0)printf("\n");)printfC'\n");if(top+1<min)(for(k=0;k<=top;k++)Path[k]=Stack[k];min=top+1;1mg[Stackftop].i][Stack[top].j]=0;topi=Stack[top].iy=Stack[top].j;di=Stack[top],di;}find=0;while(di<4&&find==0)(di++;switch(di)caseO:i=Stack[top].i-1;j=S(ackftop].j;break;case1:i=Stack[top].i;j=Stack[top].j+l:break;case2:i=Stack[top].i+1;j=Stack[lop],j;break;case3:i=Stack[top].i;j=Stack[top].j-1:break;)if(mg川[j]==0)find=1;}if(find==1)(Stack[top].di=di;top++;Suck[top].i=i;Stackftop].j=j;Stack[top].di=—1;mg[i])else(mg[Stack[topJ.iJ[Stack[(op].j]=0;top)}Printf("\n");printf("最短途径如下:\n");printf("途径最短长度:%d\n",min):printf("最短途径途径:\n");for(k=0;k<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盆景师创新方法测试考核试卷含答案
- 铌酸锂晶体制取工岗前技术实操考核试卷含答案
- 扬声器装调工安全生产能力考核试卷含答案
- 琴身箱体制作工安全演练竞赛考核试卷含答案
- 光学计量员安全宣贯强化考核试卷含答案
- 电商咨询师岗中团队合作考核试卷含答案
- 园林修剪工规章制度水平考核试卷含答案
- 耕种机械制造工安全培训水平考核试卷含答案
- 纹版连接工安全生产意识评优考核试卷含答案
- 有机氟生产工岗位综合素养考核试卷含答案
- 2026国家司法考试试题及答案
- 第8课《中国人失掉自信力了吗》课件 2026-2027学年统编版语文九年级上册
- 赓续红色血脉 走好新时代长征路-纪念中国工农红军长征胜利90周年大会发言稿
- 中药药剂学习题集全(修改版)
- 2026年南昌辅警考试试题及答案
- 新版2026-2027学年(新教材)统编版九年级历史下册全册12(教学设计)教案合集83
- 透视我国期权腐败:特征、成因与防治路径探析
- 2026年度全国保密教育线上培训题库(选择+判断)及参考答案
- 2026中国光纤涂覆材料市场需求与国产化替代分析
- 危重症患者合理约束管理规范
- 中国胆囊息肉诊疗指南(2025版)
评论
0/150
提交评论