赞
踩
简介:递归、搜索与回溯,本节博客主要是简单记录一下关于“递归、搜索与回溯”的相关简单概念,为后续算法做铺垫。
递归、搜索、回溯的关系:
函数自己调用自己
递归具有多种意义,比如二叉树的遍历、快排、归并…
本质:用于解决主问题的方法f,在子问题中也可以适用,即有限“套娃”
递归代码往往比较简短,但是要注意思考的步骤:
搜索 分为深度 优先搜索(dfs) 和 广度搜索(bfs) ,仍属于暴力遍历。
以二叉树为例,来解释dfs与bfs:
dfs:
bfs:
拓展:全排列问题也可以用深度优先遍历来进行解决。
例如:
回溯:尝试某种情况发现走不通所进行的回到最近分界点的过程。
剪纸:当通过会u是回到分界点时,已经确定某一条鲁不具有可行性,从而排除这种选择称之为剪枝。
EOF
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。