@Scrazy
2016-11-29T12:27:47.000000Z
字数 514
阅读 914
python
In [10]: def binary_sum(S, lft=None, rgt=None):...: if lft is None:...: lft = 0...: if rgt is None:...: rgt = len(S)...:...: if lft > rgt:...: return 0...: elif lft == rgt - 1:...: return S[lft]...: else:...: mid = (lft + rgt) // 2...: return binary_sum(S, lft, mid) + binary_sum(S, mid, rgt)
In [17]: def good_fib(n):...: if n <= 1:...: return (n, 0)...: else:...: (a, b) = good_fib(n-1)...: return (a + b, a)
与普通的相比
In [31]: def fib(n):...: if n <= 1:...: return n...: else:...: return fib(n-2) + fib(n-1)
good_fib()函数的复杂度为O(n),而fib()函数的复杂度为指数级!
