python实现二分查找
2017-12-05 15:24
519 查看
二分查找的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,二分查找适用于不经常变动而查找频繁的有序表
实现
非递归实现
def binary_search(alist,item): first = 0 last = len(alist)-1 while first <= last: midpoint = (first + last)/2 if alist[midpoint] == item: return True elif item < alist[midpoint]: last = midpoint-1 else: first = midpoint+1 return False
递归实现
def binary_search(alist,item): if len(alist) == 0: return False else: midpoint = len(alist)//2 if alist[midpoint] == item: return True else: if item<alist[midpoint]: return binary_search(alist[:midpoint],item) else: return binary_search(alist[midpoint+1:],item)
相关文章推荐
- 用Python实现二分查找
- python 实现快排及二分查找
- python实现二分查找
- 用python 实现的二分查找:
- Python实现二分查找
- Python实现二分查找
- 二分查找算法及python实现
- 二分查找算法Python3实现
- 二分查找的两种实现方式(递归和非递归)--python实现
- 凤凰网招聘二分查找python实现
- 算法基础之python实现贪心算法中圣诞老人分糖果问题和二分查找算法中烘干衣服问题
- python中实现二分查找,插入排序,归并排序,快速排序
- 排序和搜索(二)——python实现二分查找
- [Python]二分查找算法实现
- 二分查找算法之python实现
- c++/java/python 实现二分查找
- 算法-二分查找-python实现
- 二分查找算法python实现
- python实现的二分查找
- python实现二分查找