该类问题都可以抽象为树形结构,在集合中递归查找子集,深度表示递归次数,宽度表示可选择的集合大小。 回溯算法一般用于解决: 组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等