Day15
1、递归函数
import sys sys.setrecuresionlimit(10000) def func(): n+=1 print(n) func() func(0) #执行一次开辟一个空间,python对你的内存有一个保护机制,默认只能递归到998层
def age(n): if n==1: return 18 else: return age(n-1) +2 print(age(4)) #age(3) +2 age(2)+2+2 18+2+2+2
2、二分查找法
算法:二分查找,树运算,堆,栈
前提:有序且唯一的数字数列
l = [2, 3, 5, 10, 15, 33, 55] #1、aim 6 #2、aim与list的中间的数进行比较mid,aim>mid 取mid--end 中间的数与aim在进行比较 #3、aim与list的中间的数进行比较mid,aim<mid 取start--mid中间的数与aim在进行比较 def two_search(li,aim,start=0,end=None): end=len(li)-1 if end is None else end mid_index=(end-start)//2+start if start <=end: if li[mid_index]<aim: return two_search(li,aim,start=mid_index+1,end=end) elif li[mid_index]>aim: return two_search(li,aim,start=start,end=min_index-1) elif li[mid_index]==aim: return mid_index else: return '没有此值' print(two_search(l,100))