利用递归的思想,二分法
二分法(递归实例)
用递归实现2分查找的算法,以从列表 a =[1,3,4,6,7,8,9,11,15,17,19,21,22,25,29,33,38,69,107] 查找指定的值。
a = [1,3,4,6,7,8,9,11,15,17,19,21,22,25,29,33,38,69,107] def two(start,end,n,d_list): if start<end: mid = (start+end)//2 if d_list[mid] >n: two(start,mid,n,d_list) elif d_list[mid] < n: two(mid,end,n, d_list) else: print('找到了',d_list[mid],mid) else:# 假设start=9,end=9, 那d_list[9:9]已经取不到值了,在这种情况下,只能说明,要找的这个值不在这个列表里 print('找不到这个数据') two(0,len(a),22,a) 总结: 在函数的形参位置放一些数据,有利于优化代码量
相关推荐
steeven 2020-11-10
Tips 2020-10-14
nongfusanquan0 2020-08-18
yedaoxiaodi 2020-07-26
清溪算法君老号 2020-06-27
pengkingli 2020-06-25
yishujixiaoxiao 2020-06-25
清溪算法 2020-06-21
RememberMePlease 2020-06-17
nurvnurv 2020-06-05
SystemArchitect 2020-06-02
码墨 2020-05-29
清溪算法 2020-05-27
choupiaoyi 2020-05-27
清溪算法 2020-05-25
bluewelkin 2020-05-19
dbhllnr 2020-05-15
steeven 2020-05-09
baike 2020-05-09