Python递归和生成器实现斐波那契数列有什么区别
发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,这篇文章主要讲解了"Python递归和生成器实现斐波那契数列有什么区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python递归和生成器实现斐波那
千家信息网最后更新 2024年10月24日Python递归和生成器实现斐波那契数列有什么区别
这篇文章主要讲解了"Python递归和生成器实现斐波那契数列有什么区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python递归和生成器实现斐波那契数列有什么区别"吧!
前言
斐波那契数列,又称黄金分割数列,又名兔子数列。
通俗的来说,即从该数列中的第三项开始,后面的每一个数的值等于前两个数的和。
而我们通过 python 如何来实现不同长度的斐波那契数列呢?
常见的实现方法有递归和生成器。
递归
递归的方法效率较低,会出现大量重复计算,这里以 20 个斐波那契数列为例。
def fbnq_one(self): if self == 1: return 1 elif self == 2: return 2 else: return fbnq_one(self - 2) + fbnq_one(self - 1)print([fbnq_one(i) for i in range(1, 21)])
生成器
生成器需要在方法中运用 yield,生成器是一个可迭代对象,可以遍历获取元素,在获取较多斐波那契数列时,相比递归效率较高,这里以 100 个斐波那契数列为例。
def fbnq_two(max_num): a, b = 0, 1 time_num = 0 while time_num < max_num: yield a a, b = b, a+b time_num += 1print([i for i in fbnq_two(100)])
比较
递归语法简单,但执行起来,重复计算多,数值一大,运行时间就变长;
生成器可以遍历获取元素,在获取较多斐波那契数列时,相比递归效率较高,运行时间相对更快。
感谢各位的阅读,以上就是"Python递归和生成器实现斐波那契数列有什么区别"的内容了,经过本文的学习后,相信大家对Python递归和生成器实现斐波那契数列有什么区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数列
递归
生成器
生成
效率
方法
学习
元素
内容
时间
运行
不同
通俗
两个
个数
兔子
前言
又名
又称
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器raid1加硬盘
济南港化燃气网络安全招标
船舶网络安全管理
深圳市黎宇网络技术有限公司
一款游戏需要多少台服务器
宿舍管理数据库的设计目的
数据库管理员整体就业趋势
无人驾驶 网络安全
网络安全运营中心现状调研
数据库中abs的功能
怎么筛多个数据库的重复文献
深圳的软件开发公司名单
网络层网络安全协议有哪些
网络安全形势的特点
计算机数据库编程结合excel
福建多功能软件开发收购价格
科大国创软件开发对学历要求
营口新零售软件开发价格
epic连接不了r星服务器
计算机网络技术数据传输速率
安全意识与网络安全
董事会统计数据库
网络安全消费无忧观后感
财务软件开发找哪家
计算机网络技术人员证书
mfc软件开发折叠文本
诺顿网络安全特警怎么激活
epic连接不了r星服务器
南通gis软件开发
魔域私服数据库