手机
当前位置:查字典教程网 >脚本专栏 >python >python二分查找算法的递归实现方法
python二分查找算法的递归实现方法
摘要:本文实例讲述了python二分查找算法的递归实现方法。分享给大家供大家参考,具体如下:这里先提供一段二分查找的代码:defbinarySea...

本文实例讲述了python二分查找算法的递归实现方法。分享给大家供大家参考,具体如下:

这里先提供一段二分查找的代码:

def binarySearch(alist, item): first = 0 last = len(alist)-1 found = False while first<=last and not found: midpoint = (first + last)//2 if alist[midpoint] == item: found = True else: if item < alist[midpoint]: last = midpoint-1 else: first = midpoint+1 return found testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,] print(binarySearch(testlist, 3)) print(binarySearch(testlist, 13))

近来喜欢递归的简单明了,所以修改成递归的方法:

def binSearch(lst, item): mid = len(lst) //2 found = False if lst[mid] == item: found = True return found if mid == 0: #mid等于0就是找到最后一个元素了。 found = False return found else: if item > lst[mid]: #找后半部分 #print(lst[mid:]) return binSearch(lst[mid:], item) else: return binSearch(lst[:mid], item) #找前半部分

测试通过。

希望本文所述对大家Python程序设计有所帮助。

【python二分查找算法的递归实现方法】相关文章:

浅析python 内置字符串处理函数的使用方法

pydev使用wxpython找不到路径的解决方法

Python学习笔记_数据排序方法

python3访问sina首页中文的处理方法

python中精确输出JSON浮点数的方法

python 查找文件夹下所有文件 实现代码

python算法学习之计数排序实例

python复制文件代码实现

Python生成随机数的方法

python插入排序算法的实现代码

精品推荐
分类导航