被dynamic programming震慑到了
来源:互联网 发布:大数据分析就业前景 编辑:程序博客网 时间:2024/06/10 06:10
当年学习算法的时候 也没认真去实践dynamic programming. 今日一试,被震慑了. 不废话, 上代码, 比performance.
为了防止桟溢出, 试了个fib 50
结果 naive 跑了40s, 而dynamic的只用0.2s.
分析:
Wiki上讲dynamic programming applicable的条件有两:
(1) optimal substructure
(2) overlapping subproblems (Fib就是个完美的例子涅)
naive算法:
Fib(n) : 被call 1次
Fib(n-1): 2
Fib(n-2): 3
....
Fib(2): Fib(n-1)
Fib(1): Fib(n)
So 总共递归调用了 Fib(1)+Fib(2)+...+Fib(n)次Fib 方法
而dynamic的却是linear的... 强大!
- 被dynamic programming震慑到了
- dynamic programming
- Dynamic Programming
- Dynamic Programming
- dynamic programming
- Dynamic Programming
- dynamic programming
- Dynamic Programming
- Dynamic Programming
- Dynamic Programming
- Dynamic Programming
- Dynamic programming
- Dynamic Programming
- Dynamic Programming
- Dynamic Programming
- dynamic programming
- Dynamic Programming?
- Dynamic Programming
- GDB符号调试器(一)
- 让Java程序只运行一个实例
- 吴岩峰,杯酒快意,志在高峰
- Spell checker--POJ 1035
- java类Timer和TimerTask的使用
- 被dynamic programming震慑到了
- Java通过http访问网页及xml及文件并保存到local
- 新建的AVD无法启动,或者巨慢无比
- 第四周
- 七人分粥-有什么流程,就有什么结果
- Timer和TimerTask详解
- 程序员是这样炼成的(20)-写在最后
- freebsd xorg.conf中vesa问题
- 《编程之美》3.2 电话号码对应英语单词(从状态空间树来DFS)