码迷,mamicode.com
首页 > 其他好文 > 详细

利用递归的思想,二分法

时间:2020-01-07 00:42:30      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:总结   情况下   start   python   code   class   查找   递归   二分法   

二分法(递归实例)

用递归实现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)

总结:
    在函数的形参位置放一些数据,有利于优化代码量

利用递归的思想,二分法

标签:总结   情况下   start   python   code   class   查找   递归   二分法   

原文地址:https://www.cnblogs.com/xiaobai686/p/12158963.html

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