4-8日 递归和二分查找

Posted 没有最晚的时刻,当你发现时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-8日 递归和二分查找相关的知识,希望对你有一定的参考价值。

1,递归函数

在函数中调用函数本身自己。执行一次开辟一个空间,python对你的内存有一个保护机制,默认只能递归到998层。

技术分享图片
def func(n):
    n += 1
    print(n)
    func(n)
func(0)
View Code

 

 

 

2,二分查找

二分查找前提是有序且唯一的数字列表。

li = [1,21,30,32,44,55,56,433,]
def search(num,l,start=None,end=None):
    start = start if start else 0
    end = end if end else len(l) - 1
    mid = (end - start)//2 + start
    if start > end:
        return None
    elif l[mid] > num :
        return search(num,l,start,mid-1)
    elif l[mid] < num:
        return search(num,l,mid+1,end)
    elif l[mid] == num:
        return mid
print(search(44,li))

 

以上是关于4-8日 递归和二分查找的主要内容,如果未能解决你的问题,请参考以下文章

二分查找的递归和非递归写法

递归和非递归的二分查找

递归1--二分查找

Day589.二分查找(非递归) -数据结构和算法Java

找数字(递归,二分查找)

二分查找(递归和非递归)