Python 二分法查找
2012-03-22 15:17
309 查看
1.如果找到该值就返回
2.如果找不到该值就返回该值的上一个Index和下一个Index
3.小于List[0] 返回0
4.大于len(List)返回该List[-1]
2.如果找不到该值就返回该值的上一个Index和下一个Index
3.小于List[0] 返回0
4.大于len(List)返回该List[-1]
def BinarySearch(keyTime,List): low = 0 high = len(List) - 1 middle = 0 while(low <= high): middle = int((low + high) / 2) #获取中间数据 listTime = List[middle][0] if listTime == keyTime: return listTime break elif listTime < keyTime: low = middle + 1 elif listTime > keyTime: high = middle - 1 if high < 0: print '不在List范围内' return 0 elif low > len(List) - 1: print '超出List范围' return len(List) else: return (high,low)
相关文章推荐
- Python有序查找算法之二分法实例分析
- 用二分法查找循环递增序列 | Python
- python二分法查找
- python bisect模块二分法查找
- python 实现二分法查找
- 递归实现二分法查找----python
- python 二分法查找
- python基础-递归、二分法查找(for\递归)、三级菜单、压栈思想
- python learning----顺序查找和二分法
- python 二分法查找实例(递归、循环)
- 基础算法——查找(二分法)(python)
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
- python实现二分法查找
- python的算法:二分法查找(1)
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
- Python基础----二分法查找
- 二分法查找(Python版)
- 数据结构与算法 二分法查找【Python与C】的实现
- 二分法查找的Python实现
- python的算法:二分法查找(2)--bisect模块