python-使用字典使Fibonacci更有效率

Posted 爱学英语的程序媛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-使用字典使Fibonacci更有效率相关的知识,希望对你有一定的参考价值。

原代码:

def fib(n):

  if n == 1:

    return 1

  elif n == 2:

    return 2

  else:

    return fib(n-1)+fib(n-2)

改进后:

def fib_efficient(n,d):

  if n in d:

    return d[n]

  else:

    ans = fib_efficient(n-1,d) + fib_efficient(n-2,d)

    d[n] = ans

    return ans

d = {1:1, 2:2}

print(fib_efficient(6,d))

以上是关于python-使用字典使Fibonacci更有效率的主要内容,如果未能解决你的问题,请参考以下文章

UVA-12333 Revenge of Fibonacci(竖式加法模拟 & 字典树)

使用字典 get() 作为函数从地图创建 Python 列表与使用 for 循环创建字典 get() 列表

使json或字典输出更美观

将 YAML 加载为嵌套对象而不是 Python 中的字典

python容器--字典

python容器--字典