递归函数与二分查找算法

Posted liuhongshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归函数与二分查找算法相关的知识,希望对你有一定的参考价值。

# 初始递归
技术分享图片
1 # 初始递归
2 # def func1():
3 #     print(‘in func1‘)
4 #     func1()
5 #
6 # func1()
View Code
# 递归的定义:在一个函数里再调用这个函数本身
# 测试递归最大深度
技术分享图片
1 #测试最大递归深度
2 # def func1(n):
3 #     print(n)
4 #     n+=1
5 #     func1(n)
6 #
7 # func1(0)
View Code
#简单实例
技术分享图片
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))
View Code
#递归的优点:让代码更简单
#递归的缺点:占内存

# 二分查找算法 (有序列表)
# 实例
技术分享图片
#查找元素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)
View Code

 





以上是关于递归函数与二分查找算法的主要内容,如果未能解决你的问题,请参考以下文章

Python Day 15 (递归函数二分查找算法)

python函数:递归函数及二分查找算法

python--递归二分查找算法

算法前戏 递归 二分查找 列表查找

Python——递归二分查找算法

二分查找算法(递归与非递归两种方式)