Python 二分法查找

原创 2012年03月22日 15:17:50

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实现)

原文地址 求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现。那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary...
  • Yan456jie
  • Yan456jie
  • 2016年08月26日 22:16
  • 2721

Python-二分法查找

二分法算法原理:数组是有序数组, 确定该期间的中间位置center 将查找的值key与array[center]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。 新区域...
  • tao3741
  • tao3741
  • 2017年08月27日 19:01
  • 219

Python算法 折半搜索算法(二分法)

在计算机科学中,折半搜索是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或...
  • zhou191954
  • zhou191954
  • 2012年12月05日 23:11
  • 835

Python3 二分法讲解

现在学习Python也有一段时间了,今天去面试考到了python二分法的运用,写的不是很好,回来研究了下,重新上代码。>>> def BinarySearch(array,t): #array必须是按...
  • xiaodongxiexie
  • xiaodongxiexie
  • 2016年06月24日 18:19
  • 496

Python二分法

  • 2017年11月15日 16:23
  • 877B
  • 下载

二分法和牛顿迭代法求平方根(Python实现)

求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现。那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代...
  • ycf74514
  • ycf74514
  • 2015年10月09日 10:22
  • 3749

二分法查找的Python实现

代码如下: #!/usr/bin/env python # coding=utf-8 def BinarySearch(t,x): t.sort() #对列表进行排序,列表是有序的,是二分...
  • fcts1230
  • fcts1230
  • 2015年09月27日 22:05
  • 340

python实现二分法查找

python实现二分法查找
  • ppdyhappy
  • ppdyhappy
  • 2016年10月28日 14:49
  • 594

二分查找(返回目标元素的第一个位置、最后一个位置)

二分查找是针对有序数组的查找算法。一般意义上的二分查找,往往返回给我们的是目标元素在排序数组中出现的一个随机的位置,但是在很多时候,我们却是需要目标元素的第一个和最后一个位置,才有意义。本文分别针对最...
  • u014221279
  • u014221279
  • 2016年03月16日 11:23
  • 1932

使用二分法查找数组中的元素

上次写了几篇排序的博客,今天写一下查找
  • u010105970
  • u010105970
  • 2014年05月10日 09:22
  • 2764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 二分法查找
举报原因:
原因补充:

(最多只允许输入30个字)