Python递归和生成器实现斐波那契数列有什么区别
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"Python递归和生成器实现斐波那契数列有什么区别",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python递归和生成器实现斐波那
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
数据库表设计动静分离
文档数据库有数据和什么组成
2019年医院网络安全宣传
网络安全执法检查总结6
国内外数据库发展趋势
日常网络安全提醒
撞库是数据库吗
服务器系统集成哪家好
浙江省教育网络安全监管
苹果x服务器多少钱
网络安全方向 大学排名
姑苏区智能服务器优质推荐
软件开发项目投标评比
美团订餐客户数据库
怎样更换文件服务器ip
宁波道路管理软件开发
怎样判断数据库是否删除
小额贷款数据库
网络技术与工作生活关系
襄城县网络安全
商丘网络技术服务
软件开发顶岗周记40篇
数据库查一条数据的时间开销
营造公安网络安全窗帘
服务器室安全管理制度
安卓传感器数据传到数据库
松江区创新软件开发销售方法
私人诊所用什么软件开发票
无线传感器网络技术功能
奥思网络技术有限公司