码迷,mamicode.com
首页 > 编程语言 > 详细

递归函数与二分查找算法

时间:2018-08-18 11:35:11      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:dex   return   lap   find   实例   one   end   nbsp   ==   

# 初始递归
技术分享图片
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

 

递归函数与二分查找算法

标签:dex   return   lap   find   实例   one   end   nbsp   ==   

原文地址:https://www.cnblogs.com/liuhongshuai/p/9483901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!