
算法分析设计
Lin Shengfeng
这个作者很懒,什么都没留下…
展开
-
入坑动态规划 Dynamic Programming(算法课堂笔记记录)
动态规划 Dynamic Programming 虽然动态规划也是一种穷举,但相比于普通的穷举,它显得更高效。 动态规划主要用于求优化问题,由美国数学家贝尔曼(R. Bellman)提出。这位数学家还提出了动态规划方程(贝尔曼方程),目前在强化学习和基因比较上都有一定的应用和前景。 在一定程度上,DP≈猜+记忆+递归,“猜”用于构建递归,而“记忆”则用于求解递归。 举个栗子 如何用动态规划实现求斐波那契数列第n位? 伪代码如下: def fib(n): dp={} # 初始化一个字典,用于存放键值对,键原创 2020-12-02 10:39:03 · 310 阅读 · 1 评论 -
关于穷举(算法课堂内容记录)
穷举(2020年11月23日课堂内容记录) 穷举分为 回溯(Back Track) 和 分支界限(Branch & Bound) 二者都是在 解空间(state) 内 得到(search) 需要的解: 如何组织状态state---->数据结构 如何搜索search---->算法 回溯(Back Track) 回溯可以理解为选中一个初始状态,这个状态连接着许多子状态,接下来也选中一个子状态……一步一步向前走,遇到障碍不要紧,可以撤回到上一步达到的状态。这里的撤回,就是回溯的核心。 因为原创 2020-11-25 20:33:46 · 289 阅读 · 2 评论