递归函数与二分查找算法
1,递归函数
本质:在一个函数里在调用这个函数本身
2,递归举例
比如计算一个数的阶层
def fun(x): if x==1 or x==0: return 1 else: return fun(x-1)*x ret=fun(7) print(ret)
3,二分查找算法
对于一个按大小排序的列表,可以利用二分查找来找到列表中某个元素的索引
l = [2, 3, 5, 10, 15, 33, 55] 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 # 3 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=mid_index-1) elif li[mid_index] == aim: return mid_index else: return '没有此值' else: return '没有此值' print(two_search(l,100))