Python实现二分查找算法实例


Posted in Python onMay 26, 2015

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

#!/usr/bin/env python
import sys 
def search2(a,m):
  low = 0 
  high = len(a) - 1 
  while(low <= high):
    mid = (low + high)/2
    midval = a[mid]
    if midval < m:
      low = mid + 1 
    elif midval > m:
      high = mid - 1 
    else:
      print mid 
      return mid 
  print -1
  return -1
if __name__ == "__main__":
  a = [int(i) for i in list(sys.argv[1])]
  m = int(sys.argv[2])
  search2(a,m)

运行:

administrator@ubuntu:~/Python$ python test_search2.py 123456789 4
3

注:

1.'__':由于python的类成员都是公有、公开的被存取public,缺少像正统面向对象语言的私有private属性。

于是就用__来将就一下,模拟私有属性。这些__属性往往是内部使用,通常情况下不用改写。也不用读取。

加上2个下划线的目的,一是不和普通公有属性重名冲突,二是不让对象的使用者(非开发者)随意使用。

2.__name__ == "__main__"表示程序脚本是直接被执行的.
如果不等于表示脚本是被其他程序用import引入的.则其__name__属性被设为模块名

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

Python 相关文章推荐
Python 面向对象 成员的访问约束
Dec 23 Python
总结python实现父类调用两种方法的不同
Jan 15 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
python和shell获取文本内容的方法
Jun 05 Python
python生成lmdb格式的文件实例
Nov 08 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
Django实现发送邮件功能
Jul 18 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
pandas中read_csv的缺失值处理方式
Dec 19 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
python munch库的使用解析
May 25 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 Python
Django发送html邮件的方法
May 26 #Python
Python使用xlrd模块操作Excel数据导入的方法
May 26 #Python
django实现分页的方法
May 26 #Python
Django imgareaselect手动剪切头像实现方法
May 26 #Python
Django实现图片文字同时提交的方法
May 26 #Python
Python实现的简单算术游戏实例
May 26 #Python
Django中使用group_by的方法
May 26 #Python
You might like
杏林同学录(六)
2006/10/09 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python里 super类的工作原理详解
2019/06/19 Python
django Admin文档生成器使用详解
2019/07/22 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
python实现udp聊天窗口
2020/03/31 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
余世维讲座观后感
2015/06/11 职场文书
上学路上观后感
2015/06/16 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA