Python全系列 教程
3567个小节阅读:5931.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
一个函数在内部调用了其本身,那个这个函数就是递归函数,粗暴的理解:函数内部自己调用自己
注意
使用递归容易产生栈溢出的错误
递归一定要有出口,否则就是"死循环"的递归
递归的次数不能太多
它主要包含两个阶段:
递:程序不断深入地调用自身,通常传入更小或更简化的参数,直到达到"终止条件"
归:触发"终止条件"后,程序从最深层的递归函数开始逐层返回,汇聚每一层的结果
案例:实现10以内阶乘
def jie_cheng(num:int) ->int:
count = 1
for i in range(1,num+1):
count *= i
return count
print(jie_cheng(10))
问题
递归如何实现?
递归其主要思想在于:
将问题分为规模更小的相同问题,持续分解,直到问题规模小到可以用非常简单直接的方式来解决
分解完后,再合并结果
分析得递归的3个主要因素
递归调用:对应"递",函数调用自身,通常输入更小或更简化的参数
终止条件:用于决定什么时候由"递"转"归"
返回结果:对应"归",将当前递归层级的结果返回至上一层
实时效果反馈
1. 关于递归,说法错误的是?
A 递归需要定义一个函数
B 递归需要找出出口条件
C 递归需要逻辑规律
D 递归思路就是分解问题
答案
1=>D