欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    迷宫 c 所有路径深度 搜索递归一条路径(Maze C all path depth search recursive a path).doc

    • 资源ID:11249548       资源大小:39KB        全文页数:17页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    迷宫 c 所有路径深度 搜索递归一条路径(Maze C all path depth search recursive a path).doc

    迷宫 c 所有路径 深度 搜索 递归 一条路径(Maze C all path depth search recursive a path)/ / */ / *2011 > >武陟> >迷宫1。在迷宫中只找一条路径的,深度搜索,找到则返回,利用栈法2。找所有路径,也是深度搜索,递归法;若路径过多则显得很慢三.广度搜素,找迷宫最短路径。用队列广度。4。*算法有待补充/ / =/ / =首先对于一条路径的迷宫的探索。深度搜索原理,从原点开始,先往下走,再往右走,遇到四个方向无法走的就回退一步,知道走到出口。迷宫地图如下:/ *1,1,1,1,1,1,1,1,1,1,1,11,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,11,0,8,0,0,0,8,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,11,0,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,8,0,0,0,0,11,0,8,0,0,0,0,0,0,0,0,11,0,0,8,8,0,0,0,0,0,0,11,0,0,0,8,0,0,0,0,0,0,11,1,1,1,1,1,1,1,1,1,1,1* /首先,迷宫地图的处理:为了美观我们不设- 1等两位数的标记位。0是通路,显示为:”;1是墙壁,显示为:“”;3往下走,显示为:“”;4往右走,显示为:“”;5往左走,显示为:“”;6往上走,显示为:“”;2是标记走过的路径:只是标记7标记开始位置9标记结束位置8障碍的标记程序设置:起点-1,1,出口 10, 10 。/ *找到一条路线:* /伪代码:栈+ 1,把起点放入栈而(没有达到栈底时)取出栈顶如果(判断是终点)返回找到通路;对于(四个方向)如果(下面方向可以走)入栈,打破;如果(右面方向可以走)入栈,打破;如果(左面方向可以走)入栈,打破;如果(上面方向可以走)入栈,打破;如果(四个方向没有走)把栈顶位置标记障碍,弹栈返回没有通路/ / =/ / =代码实现=#包括< stdio. h >#包括<< malloc。”#包括<字符串。”#定义最大值12#定义maxh 12#定义最大10000无效showbg(int *);int DFS(int 3 ,int 12 ;int判断(int x,int y,int 12);国际竞争(x,y);无效的方向(int 3 ,int b 最大值);无效main()b maxh 最大值,我,J;int 3 ,t0,h0;memset(a,0,sizeof(a);memset(B,0,sizeof(b);为(i = 0;i < maxh;i+)为(J = 0;J < maxl;j+)scanf(“%d”,与B 我 J );如果(DFS(a,b)printf(“找到一条通路为:n n”);方向(A,B);其他的printf(“没有通路n n”);b 1 17;b 10 109;ShowBg(int *)b);返回;无效showbg(int *)int,j;为(i = 0;i < maxh;i+)为(J = 0;J < maxl;j+)如果(*(+ maxl *我+ j)= = 1)printf(“”);如果(*(+ maxl *我+ j)= = 3)printf(“”);如果(*(+ maxl *我+ j)= = 4)printf(“”);int a maxl 3, int & tatol)int k, tx, ty, p;int b 4, 2 = 1,0, - 1,0, 0, 1, 0, 1;/ / , 4, 5, 6, 7, 下上左右int c 4 = 4,5,6,7;for (k = 0; k < 4; k + +) / / 四个方向if (check (i, j, k, a) = = 1) tx = in + b k 0;ty = j + b k 1;a i j 1 = c k;p = a tx for 0; / / 记录当前的节点状态a tx for 0 = 3; / / 表示节点已经走过if (tx = = maxh - 2 & & ty = = maxl - 2) tatol + +;printmaze (a, tatol);elsesearch (tx, ty, a, tatol);a tx for 0 = p; / / 返回之前记录的状态 / / fora i j 0 = 2; / 所有情况都不行, 则表示死胡同int check (int i, int y, int k, int a maxl 3) int b 4, 2 = 1,0, - 1,0, 0, 1, 0, 1;in + b = k 0;j + b = k 1;if (in the < = 0 | | in > = maxh - 1 | | j < = 0 | | j > = maxl - 1)return 0;elseif (a i j 0. = 0) return 0;return 1;void printmaze (int a maxl 3, int & tatol) int i, j;(a) 1 1 0 = 5;(a) 10, 10, 0 = 6;printf ( n - 第% 3d 种走法 - n n ", tatol);for (i = 0; i < maxh; i + +)for (j = 0, j < maxl; j + +) / / printf ("% d", (a i j 0);if (a i j 0 = = 1) printf (""); else if (a i j 0 = = 8) printf ("-"); else if (a i j 0 = = 5) printf (-); else if (a i j 0 = = 6) printf (""); else if (a i j 0 = = 3)if (a i j 1 = = 4) printf ("change"); else if (a i j 1 = = 5) printf ("with"); else if (a i j 1 = = 6) printf (""); else if (a i j 1 = = 7) printf ("agreement"); else printf ("");elseprintf (""); / / forprintf ( n);/ *1 1 1 1 1 1 1 1 1 1 1 11 0 0 8 0 0 0 0 0 0 0 11 0 8 8 8 0 0 0 8 0 1 1 0 1 01 0 0 8 8 8 8 8 8 8 0 11 0 0 8 0 0 0 0 0 8 0 11 0 0 8 0 8 8 8 8 0 1 1 0 1 01 0 0 0 0 0 0 0 8 0 8 8 0 8 0 11 8 0 8 8 0 0 0 0 0 0 11 0 0 8 0 8 8 0 8 8 0 11 0 0 8 8 0 8 0 0 0 0 11 0 0 0 0 0 0 0 8 0 0 8 8 0 1 1 0 1 01 1 1 1 1 1 1 1 1 1 1 1输出:- 第 1 种走法 - - - - - - - - - 第 2 种走法 - - - - - - - - - - 第 3 种走法 - - - - - - - - - - - - "A" a "a" a "a" aFourth ways of walking -"A" a "a" a "a" aThe - -.The decrease in anthraquinone anthraquinone.The key - anthraquinone anthraquinone anthraquinone.The down - down - flashball flashball.The key to the up - down - - - -.* flashball = nitrile - down -.The nitrile - flashball case.The nitrile nitrile - down.The nitrile - down -.The nitrile -, * *"A" a "a" a "a" a* /=/= breadth maze blocked queue

    注意事项

    本文(迷宫 c 所有路径深度 搜索递归一条路径(Maze C all path depth search recursive a path).doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开