美文网首页
Python--斐波那契数列

Python--斐波那契数列

作者: 阳光小镇少爷 | 来源:发表于2023-04-14 08:57 被阅读0次

第一种递归法


image.png

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
写法最简洁,但是效率最低,会出现大量的重复计算,时间复杂度O(1.618^n),而且最大深度为1000

第二种递推法


image.png

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
递推法,就是递增法,时间复杂度是 O(n),呈线性增长,如果数据量巨大,速度会越拖越慢

第三种生成器


image.png

带有yield的函数都被看成生成器,生成器是可迭代对象,且具备iternext方法, 可以遍历获取元素, python要求迭代器本身也是可迭代的,所以我们还要为迭代器实现iter方法,而iter方法要返回一个迭代器,迭代器自身正是一个迭代器,所以迭代器的iter方法返回自身即可

第四种类实现内部魔法方法


image.png

相关文章

网友评论

      本文标题:Python--斐波那契数列

      本文链接:https://www.haomeiwen.com/subject/osvgddtx.html