回溯算法的基本思想

回溯算法的基本思想

回溯算法关键在于:不合适就退回上一步

参考资料:

回溯法基本思想 - Chen洋 - 博客园

深度优先遍历、递归、栈,它们三者的关系:

我个人以为它们背后统一的逻辑都是「后进先出」

我刚开始学习「回溯算法」的时候觉得很抽象,一直不能理解为什么递归之后需要做和递归之前相同的逆向操作,在做了很多相关的问题以后,我发现其实「回溯算法」与「 深度优先遍历 」有着千丝万缕的联系。

搜索问题的解,可以通过 遍历 实现。所以很多教程把「回溯算法」称为爆搜(暴力解法)。因此回溯算法用于 搜索一个问题的所有的解 ,通过深度优先遍历的思想实现。

递归和重置; 

回溯算法都是中等难度

 

作者:liweiwei1419
链接:https://leetcode.cn/problems/permutations/solution/hui-su-suan-fa-python-dai-ma-java-dai-ma-by-liweiw/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2022-07-26 20:51  bH1pJ  阅读(51)  评论(0编辑  收藏  举报