递归函数

一、递归函数

  在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

       特性:

  • 必须有一个明确的结束条件
  • 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
  • 递归函数的优点是定义简单,逻辑清晰

  注意:

  使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。

二、事例

  2.1 阶乘

复制代码
def func(n):

    if n == 1:
        return 1
    else:
        return n * func(n-1)
View Code
复制代码

  2.2 二分法  

  

 

posted @   Bigberg  阅读(472)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示