时间:2021-05-22
斐波那契数列
当年,典型的递归题目,斐波那契数列还记得吗?
def fib(n): if n==1 or n==2: return 1 else: return fib(n-1)+fib(n-2)当然, 为了程序健壮性,加上try...except...
def fib(n): if isinstance(n, int): print('兄弟,输入正整数哈') return try: if n==1 or n==2: return 1 elif n <= 0: print('兄弟别输入0或负数呀') else: return fib(n-1)+fib(n-2) except RecursionError: print('兄弟,超过了最大递归深度'是的,无论时间还是空间复杂度,递归真的是不太好使哈!这是递归的写法:
def fib(n): if n==1 or n == 2: return 1 a, b = 1, 1 for i in range(2, n): a, b = b, a+b return b我稍微解释三点:
杨辉三角
同样,先写递归写法(我这里不考虑特殊情况了,时间有限):
def YH_tri(a, b): if a == b or b == 0: return 1 else: return YH_tri(a-1, b)+YH_tri(a-1, b-1)老铁们自己先想想该怎么写??
总结
以上所述是小编给大家介绍的提升Python效率之使用循环机制代替递归函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有关php递归函数的用法,分享几个php递归函数的例子,在php编程中,使用递归进行函数调用很常见,递归函数用的好,可以提高代码效率,通过例子学习php递归函数
首先,在递归函数之外定义一个全局变量:isGo,布尔型,初始值为真,意思是可以继续循环。接着,在递归循环的一开始就设置判断机制,一旦isGo的值为假,就层层阻止
利用递归的方法循环树形数组,当遇到有children的对象再次调用递归函数循环children数组,每次循环的数据放入一个提前声明好的数组里,等所有递归函数执行
一、使用三种方法实现0-n累加求和定义函数分别使用while循环、for循环、递归函数实现对0-n的累加求和1、使用while循环定义一个累加求和函数sum1(
Python递归函数如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里