博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 二分查找
阅读量:5749 次
发布时间:2019-06-18

本文共 787 字,大约阅读时间需要 2 分钟。

(非递归实现)

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 Falsetestlist = [0, 1, 2, 8, 13, 17, 19, 32, 42,]print(binary_search(testlist, 3))print(binary_search(testlist, 13))

(递归实现)

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
  • 最优时间复杂度:O(1)
  • 最坏时间复杂度:O(logn)

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。

转载于:https://www.cnblogs.com/Erick-L/p/7226934.html

你可能感兴趣的文章
三家印度银行感染勒索软件
查看>>
MaxCompute 入门
查看>>
8个实现高效数据中心的重要技巧
查看>>
Lr11、QTP11破解时需要注意的问题
查看>>
企业数据中心如何挑选机柜
查看>>
redis slowlog配置说明
查看>>
智慧城市建设:通联支付进驻客运站
查看>>
物联网的“合理”安全问题
查看>>
揭开数据中心光模块利润之源
查看>>
城镇化坚守五条发展底线 带来安防商机
查看>>
物联网想普及 先要跨过这道难关
查看>>
中国大数据公司市场价值排行榜发布
查看>>
我们DevSkim、Jarvis和USG是这样子的
查看>>
云计算、人工智能等关键技术大揭秘
查看>>
博科:vADC管理Web流量为电商业务增速
查看>>
2017,物联网要“搞”大事情
查看>>
Pinterest将推图片搜索应用 方便用户在线购物
查看>>
《交互式程序设计 第2版》一1.4 艺术与交互
查看>>
携手共建大数据学院
查看>>
《深入理解大数据:大数据处理与编程实践》一一2.3 集群分布式Hadoop系统安装基本步骤...
查看>>