递归函数

阅读目录:

  • 概念
  • 最大深度
  • 相关例题
    • 阶乘
    • 二分查找算法

概念:

  递归函数(Recursion):在一个函数的内部调用它自己

递归的最大深度

  • 查看最大深度  

sys.getrecursionlimit()
  • 官网上是1000,但是实际测试是998  

相关例题:

阶乘:

def fn(n):
    if n == 1:
        return 1
    return fn(n-1)*n
ret = fn(5)
print(ret)

二分查找算法

def search(l,aim,start=0,end=None):
    if end is None:end = len(l)-1
    if  start<=end:
        mid = start + (end-start)//2
        mid_value = l[mid]
        if aim > mid_value:
            start = mid+1
            ret = search(l,aim,start,end)
            return ret
        elif aim < mid_value:
            end = mid-1
            ret = search(l,aim,start,end)
            return ret
        else:
            return mid
    else:
        pass
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]   
ret = search(l,15)
print(ret)

 

posted @ 2019-02-02 03:01  小萍瓶盖儿  阅读(166)  评论(0编辑  收藏  举报