【递归、搜索与回溯算法】(穷举vs暴搜vs深搜vs回溯vs剪枝:一文讲清概念与用法)在学习算法的过程中,很多人都会反复碰到这些词:穷举、暴力搜索、深度优先搜索、回溯、剪枝.它们看起来彼此相关,实际用起来也常常混在一起,于是初学者很容易产生疑惑:穷举和暴搜到底是不是一回事?DFS只是搜索顺序,还是一种算法思想?回溯和DFS有什么本质区别?剪枝又是在什么时候发挥作用?这些概念之所以容易混淆,是因为它们常常出现在同一类问题中:需要尝试、需要选择、需要一步步向前探索,并在不满足条件时退回来重新决策.从排列组合,到子集划分,再到路径搜索、数独求解、N 皇后问题,这些经典题目的背后,几乎都离不开"递