递归函数与二分查找算法
Posted liuhongshuai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归函数与二分查找算法相关的知识,希望对你有一定的参考价值。
# 初始递归
1 # 初始递归 2 # def func1(): 3 # print(‘in func1‘) 4 # func1() 5 # 6 # func1()
# 递归的定义:在一个函数里再调用这个函数本身
# 测试递归最大深度
1 #测试最大递归深度 2 # def func1(n): 3 # print(n) 4 # n+=1 5 # func1(n) 6 # 7 # func1(0)
#简单实例
1 #简单实例 2 # def age(n): 3 # if n==1: 4 # return 40 5 # else: 6 # return age(n-1)+2 7 # 8 # print(age(4))
#递归的优点:让代码更简单
#递归的缺点:占内存
# 二分查找算法 (有序列表)
# 实例
#查找元素66的索引 l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] # print(l.index(66)) # n=0 # for i in l: # if i==66: # print(n) # n+=1 # def find(l,aim,start=0,end=None): # end=len(l)if end is None else end # mid_index=(end-start)//2+start # if start<=end: # if l[mid_index]<aim: # return find(l,aim,start=mid_index+1,end=end) # elif l[mid_index]>aim: # return find(l,aim,start=start,end=mid_index-1) # else: # return mid_index # else: # return ‘找不到‘ # # res=find(l,66) # print(res)
以上是关于递归函数与二分查找算法的主要内容,如果未能解决你的问题,请参考以下文章