✅回溯法的效率
虽然回溯法很难,但是回溯法并不高效。
因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。
✅回溯用于解决组合问题,切割问题,子集问题,排列问题,棋盘问题。
✅如何理解回溯法?
所有的回溯法都可以抽象为一个树形结构。(通常抽象为n叉树)
树的宽度为处理集合的大小,深度为递归的深度。
递归一顶有终止点,到了终止点就会一层一层往上返回。
✅一般而言递归函数都没有返回值。业界统一给递归函数取名为backtracking。
书写时,一般不在一开始就定下参数,根据需要修改增加。
✅递归模板
递归三部曲?确定三大----->
✅ 递归函数的参数和返回值
✅递归的终止条件
✅单层递归的逻辑