天天看点

递归和回溯法树型问题回溯法解决排列组合问题

目录

  • 树型问题
  • 回溯法解决排列组合问题
    • 剪枝优化
    • 二维平面
    • N皇后问题

树型问题

递归调用的重要性质,每层调用完总是要返回上一层。这种称为“回溯”。算法复杂度是指数级。回溯法是暴力法的一个主要实现手段。

17:电话号码字母组合(经典例题)

练习题:93,131

回溯法解决排列组合问题

46、

递归和回溯法树型问题回溯法解决排列组合问题

剪枝优化

去掉一些不可能项,相当于从递归树中剪去一些枝,这就是剪枝。例如如下取4.

递归和回溯法树型问题回溯法解决排列组合问题

77.改变循环条件。39,40,216,78,90,401,

二维平面

79:技巧(偏移量矩阵)

200:floodfill算法

习题:130,417.

N皇后问题

逐行尝试,递归回溯。

每行要放一个皇后,从第一行的第一个位置开始尝试。对于处在一行一列或者对角的进行剪枝。

递归和回溯法树型问题回溯法解决排列组合问题
递归和回溯法树型问题回溯法解决排列组合问题
递归和回溯法树型问题回溯法解决排列组合问题

这个对角线方向上一共2^n-1个对角线,对角线上的坐标x,y和相等。

递归和回溯法树型问题回溯法解决排列组合问题

继续阅读