递归 recursion  一个函数在自己内部调用函数本身。

 

l=[2,3,5,10,15,16,18,22,16,30,32,35,41,42,43,55,56,66,67,69,72,76,73,82,88]

 

def search(num,l,srart,mid-1):

mid = (end-start)//2+start

if l[mid]>num:

search(num,l,start,mid-1)

elif l[mid]<num:

search(num,l,mid+1,end)

elif l[mid] ==num:

print(mid,l[mid]

search(66,l)

递归的深度在python 中是有限制的。递归的好处就是代码简介精炼。

递归的副作用:递归函数可以调用本身,但是每次都要进行压栈 弹栈保存和恢复寄存器的栈的操作

解耦

要完成一个完整的功能,但是这个小功能的规模要尽量的小,并且这这个功能无关的其他代码应该和这个函数分离

 

posted on 2017-09-06 22:26  远去  阅读(103)  评论(0编辑  收藏  举报