专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

关于python递归函数怎样理解_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/7 1:03:24       共计:3586 浏览

关于python递归函数怎样理解?

递归的思想主要是能够重复某些动作,比如简单的阶乘,次方,回溯中的八皇后,数独,还有汉诺塔,分形。

由于堆栈的机制,一般的递归可以保留某些变量在历史状态中,比如你提到的return x * power..., 但是某些或许庞大的问题或者是深度过大的问题就需要尽量避免递归,因为可能会栈溢出。还有一个

问题是~python不支持尾递归优化!!!!所以~还是尽量避免递归的出现。

def power(x, n)

if n < 0:

return 1

return x * power(x, n - 1)

power(3, 3)

3 * power(3, 2)

3 * (3 * power(3, 1))

3 * (3 * (3 * power(3, 0)))

3 * (3 * (3 * 1)) 这里n = 0, return 1

3 * (3 * 3)

3 * 9

27

当函数形参n=0的时候,开始回退~直到第一次调用power结束。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:crc校验怎么选除数_java | ·下一条:大学如何自学C语言_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有