![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
小兰不秃头
这个作者很懒,什么都没留下…
展开
-
回溯深度优先
一、回溯法回溯法是一种选优搜索法(试探法),按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。void backtracking(参数) { if (终止条件) { 存放结果; return; } 处理节点; backtracking(路径,选择列表); // 递归 回原创 2021-05-11 16:46:49 · 191 阅读 · 0 评论 -
递归迭代动态规划
一、定义递归:程序调用自身,从顶部将问题分解,其问题与其子问题是同一概念。通过解决掉所有分解出来的小问题,来解决整个问题。迭代:利用变量的原值推算出变量的下一个值。递归中一定有迭代,但是迭代中不一定有递归。动态规划:通常与递归相反,其从底部开始解决问题。将所有小问题解决掉,进而解决的整个问题。为了节约重复求相同子问题的时间,引入一个数组,把所有子问题的解存于该数组中,动态规划算法是空间换时间的算法。动态规划可以递归地实现,也可以非递归(循环的方法)地实现。运行速度:动态规划 > 迭代 >转载 2021-05-07 18:20:37 · 259 阅读 · 0 评论