标签:升级 二分查找算法 二分查找 star min 算法 not ret 规模
递归函数:
递归函数,在一个函数内调用自己,最大递归层数做了一个限制:997
sys模块:所有和Pythonx相关的设置和方法
sys.setrecursionlimit(1000000) n=888880 def f(): global n n+=1 print(n) f() f()
结束递归的标志:return
二分查找算法
递归结局的问题:
就是通过参数,来控制每一次调用缩小计算的规模
适合的场景:
数据的规模在减小,但是解决问题的思路没有改变
l=[1,2,3,5,6,7,8,12,34,45,54,56,63,73,78,80,83,90] def find(l,min): mid=len(l)//2 if mid > min: new_l=l[:mid] return find(new_l) elif mid < min: new_l=l[mid+1:] return find(new_l) else: return min print(len(l),)
l=[1,2,3,5,6,7,8,12,34,45,54,56,63,73,78,80,83,90] def func(l, aim,start = 0,end = len(l)-1 ): mid = (start+end)//2 if not l[start:end+1]: return elif aim > l[mid]: return func(l,aim,mid+1,end) elif aim < l[mid]: return func(l,aim,start,mid-1) elif aim == l[mid]: print("bingo") return mid index = func(l,68) print(index)
标签:升级 二分查找算法 二分查找 star min 算法 not ret 规模
原文地址:http://www.cnblogs.com/yifugui/p/7263715.html