分享|回溯算法的思考策略以及题单分享
507
发布于 河北

思考策略

做回溯类算法的题先用暴力搜索枚举出所有情况,再根据题目条件进行剪枝和回溯。
做题流程

  1. 用暴力解法画决策树
  2. 在决策树上减掉不必要的枝干(剪枝)
  3. 找边界条件(回溯的条件)
  4. 设计递归的函数头,函数体,出口

如何画决策树

78.子集
22.括号生成
39.组合总和

题单分享

递归,搜索,与回溯题单分享

题单介绍

  1. 汉诺塔快速幂是简单的递归题
  2. 计算二叉树的布尔值二叉树的所有路径是二叉树的深度优先搜索
  3. 全排列子集两道题是回溯和剪枝比较典型的两道题
  4. 子集的异或总和不同路径三全都是回溯算法题
  5. 图像渲染衣橱整理是洪水灌溉问题,可以用宽度优先搜索解决,也可以用深度优先搜索解决
  6. 不同路径矩阵中最长递增子序列是记忆化搜索问题,在回溯算法的基础上添加一个备忘录

刷题建议

题单一共36道题目,从简单的递归深度优先搜索再到回溯与剪枝最后到记忆化搜索有易到难,中间洪水灌溉问题可以跳过,如果做的话建议用深度优先搜索

评论 (0)