Python递归的特点有哪些
本篇内容主要讲解“Python递归的特点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python递归的特点有哪些”吧!
递归三定律
在想要使用递归解决问题的时候,需要考虑是否满足这三个条件:
递归的基本结束条件(即最小规模问题)
递归算法必须满足朝着规模减小的方向改变状态,即向基本结束条件演进
递归算法必须调用自身
注意:递归调用会自动生成一个递归栈,占据内存空间,且递归栈大小有限
递归的特点
递归在某些情况下,可以代替迭代循环 递归算法通常能够与问题的表达自然契合 -
递归有时候会引发巨量的 重复计算 通常会采用“记忆技术/函数值缓存技术”来记录中间结果,在递归前先判断是否计算过,若重复则直接返回存储好的最优解,避免重复计算
-
动态规划与递归有着一定的联系,通常可以用动态规划解决的问题也就可以利用递归解决
递归是自顶向下的,向规模减小的方向演进
动态规模则相反,从最小规模递推到目标规模的解
到此,相信大家对“Python递归的特点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!