0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言重解经典回溯算法案例

Q4MP_gh_c472c21 来源:cc 2019-01-29 11:24 次阅读

迷宫问题是一道经典的回溯算法问题,给定一个迷宫矩阵,矩阵中的1表示障碍,0表示可走通路,给定迷宫入口出口,要求寻找从入口穿过迷宫到达出口的所有路径,有则输出,无则给出提示。一本合格的数据结构教科书一般都会介绍迷宫问题,网上的分析也是铺天盖地,这里就不再赘述重复的内容了。废话不多说,简单介绍一下程序,然后上代码。

该程序用二维数组表示迷宫,用另一个二维数组记录迷宫中的位置是否已经走过,同时用一个链式栈存放搜索出的临时路径。程序从迷宫入口开始试探,随着回溯试探过程的进行,链式栈的长度不断变化,当试探到迷宫出口时,链表中存放的就是一条完整的穿过迷宫的路径了,输出路径后回溯,继续试探下一条路径,当回溯到入口时没有新的可走方向时整个回溯试探的过程也就结束了。链表节点中除了存放被路径连接的各单元的行列标外,还存放有由该节点代表的单元前往该节点的后继节点代表的单元的方向,这么做是为了方便回溯操作的进行。

为方便起见,程序中迷宫的入口是固定的,为左上角单元,出口同样固定,为右下角单元。这并不妨碍程序的普适性,只要稍加修改就可以使程序适用于任意给定的出口和入口的情形。

啰嗦了这么半天,下面该上代码了,代码用C语言编写,具体如下。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128430
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66740

原文标题:C语言重解经典回溯算法案例-迷宫问题

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    回溯经典 (五皇后问题) (算法)

    5皇后问题:在8*8的国际象棋棋盘上,放5个皇后,使它们控制整个棋盘,即在任何一格放一个棋子,都会马上被吃掉。下面介绍回溯解法定义一个表示点的数据结构: struct Pt {Int x,y
    发表于 08-16 14:56

    100个经典C语言程序

    100个经典C语言程序,经典算法!!
    发表于 09-19 00:43

    C语言经典算法100例

    C语言经典算法100例
    发表于 11-01 13:51

    《MATLAB优化算法案例分析与应用》

    《MATLAB优化算法案例分析与应用》清华大学出版社《MATLAB优化算法案例分析与应用》这本书,给大家推荐一下这本书清华大学出版社《MATLAB优化算法案例分析与应用》这本书,给大家推荐一下这本书
    发表于 10-10 12:34

    C语言经典算法100例分享

    C语言经典算法,要的拿去! C语言经典
    发表于 07-19 01:47

    C语言经典算法分享

    C语言经典算法
    发表于 02-01 07:45

    C语言有哪些经典算法

    C语言经典算法
    发表于 03-09 07:35

    C语言经典算法大全

    C语言经典算法,详细解析算法过程及算法思想,给读者具有启发意义,教程包含
    发表于 10-07 08:16

    模板方法模式在回溯算法中的应用

    描述了模板方法模式及回溯算法的模板方法模式的Java 语言实现,该实现使得回溯算法的实现达到了可扩展性、灵活性和可插入性三个目标,提高了
    发表于 01-15 16:48 20次下载

    模板方法模式在回溯算法中的应用

    描述了模板方法模式及回溯算法的模板方法模式的Java 语言实现,该实现使得回溯算法的实现达到了可扩展性、灵活性和可插入性三个目标,提高了
    发表于 01-15 16:51 0次下载

    C语言经典算法

    C语言经典算法--助你解决算法问题C语言经典算法
    发表于 03-23 14:30 27次下载

    经典的C语言算法

    一些经典的C语言算法,该算法详细介绍了使用C语言如何编程解决一些比较难而且比较抽象的程序。
    发表于 04-06 14:52 4次下载

    100个经典的C语言算法

    C语言经典算法 .doc 这是我收集的部分c语言算法
    发表于 04-06 15:13 0次下载

    关于回溯算法的介绍与运用

    本文就来看一道非常经典回溯算法问题,子集划分问题,可以帮你更深刻理解回溯算法的思维,得心应手地写出回溯
    的头像 发表于 03-25 13:42 1464次阅读

    回溯算法技巧分析

    如果你不理解这三个词语的解释,没关系,我们后面会用「全排列」和「N 皇后问题」这两个经典回溯算法问题来帮你理解这些词语是什么意思,现在你先留着印象。
    的头像 发表于 04-19 11:00 419次阅读
    <b class='flag-5'>回溯</b><b class='flag-5'>算法</b>技巧分析