斐波那契数列
2009-08-09 09:59:56 来自: Fleurer(白天不懂夜的黑)
初学递归的时候都喜欢拿它做例子,不过重复计算太多,未接触过fp的同学认为“递归效率低”,我相信很大程度上来自这个例子的泛滥。
“效率”高低只跟复杂度有关,尾递归优化并不会影响到程序的复杂度。所以需要memo来消去重复计算。haskell搞这个还是很漂亮的~
import Data.Array
fib n = fib' n
__where
____memo = array (0,n) [(i,fib' i)| i<- [0..n]]
____fib' 1 = 1
____fib' 2 = 1
____fib' x = memo!(x-1) + memo!(x-2)
> 我来回应
这个小组的成员也喜欢去 · · · · · ·

- scheme (184)

- OCaml (85)

- lisp (648)

- Erlang (457)

- 代码这边独好 (668)

- lua (76)
最新话题:
Haskell的排名上升了一位^^ (BladeWang)
找到工作,重新回到Haskell!! (牛顿的大伯)
Hugs on iPhone (BladeWang)
学习Haskell,需要哪些数学基础? (bob)
haskell換logo啰 (三弱老人)
haskell在windows上用什么ide? (zii)
斐波那契数列 (Fleurer)
又是求素数 (AlbertLee)