回溯法以及迷宫问题

作者: 北方先森丶 | 来源:发表于2017-07-27 11:04 被阅读259次

概念

什么是回溯法?

回溯法的基本思想:对一个包括有很多结点,每一个结点有若干个搜索分支的问题,把原问题分解为对若干个子问题求解的算法。

我们简单分析一下这句话,其实就是当搜索到某个结点,发现无法再继续搜索下去的时候,就让搜索过程回溯(也称退回)到该结点的上一个结点继续搜索这个结点的其他尚未搜索过的分支,然后一遍一遍重复这个步骤,直到搜索到问题的解或搜索完了全部可搜索分支没有解存在为止

迷宫问题

说到回溯法,就不得不说使用回溯思想最经典的一个问题:迷宫问题。

我们规定:2 为墙壁 0为道路 由图可见,我们有4种不同的通路。 

我们设置入口为(1,1)出口为(7,7)

①. 我们在主方法里先初始化一个迷宫,用二维数组来实现。

②. 我们定义四个成员变量,并且设置入口出口坐标

③. 实现我们迷宫通路的算法,在寻找下一个通路点时,我们就用到了回溯的思想。

完整的实现代码!

总结

多练还是最好的途径,迷宫是一个很典型的问题,大家一定要多多理解其中的思路!

下一讲我们就要介绍树的相关知识啦 :)

PS:有什么问题或者不解的地方可以评论,我都会一一就行回复的,如果有错误或者言语不明的地方,还请大神多多指点!

相关文章

  • 回溯法以及迷宫问题

    概念 什么是回溯法? 回溯法的基本思想:对一个包括有很多结点,每一个结点有若干个搜索分支的问题,把原问题分解为对若...

  • c语言回溯法迷宫问题

    1.题目描述 定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int ...

  • 回溯迷宫问题

    给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然...

  • 走迷宫回溯法

    感觉这个题应该很简单的,但是我没做出来!,真的菜 笔试没做出来的写法! 笔试后想出来的写法 1,为什么上面那种不行...

  • N皇后

    回溯法核心代码: n皇后问题回溯法

  • 回溯算法

    一、概念 回溯法有通用解法的美称,对于很多问题,如迷宫等都有很好的效果。回溯算法实际上一个深度优先搜索尝试过程,主...

  • 算法的设计思想2

    4,回溯法 回溯法是一种优化的穷举法。所谓穷举法就是穷举问题的所有可能性,直到发现解决问题的最佳解为止。回溯法会有...

  • 算法08-回溯法:面试最常见问题

    算法08-回溯法:面试最常见问题 一、介绍 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜...

  • 分支限界法

    分支界限法原理   分支限界法和回溯法是类似的问题求解方法。回溯法是通过深度优先的方式对问题进行探索性的解决,而分...

  • 51. N-Queens

    题目分析 N 皇后问题 + 回溯法 代码

网友评论

    本文标题:回溯法以及迷宫问题

    本文链接:https://www.haomeiwen.com/subject/ebaakxtx.html