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对象的深拷贝和浅拷贝详解
Aug 25 Python
介绍Python的@property装饰器的用法
Apr 28 Python
Python MySQL数据库连接池组件pymysqlpool详解
Jul 07 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
python tkinter界面居中显示的方法
Oct 11 Python
linux环境中没有网络怎么下载python
Jul 07 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
浅谈对pytroch中torch.autograd.backward的思考
Dec 27 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
简单了解python列表和元组的区别
May 14 Python
详解python变量与数据类型
Aug 25 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 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
php自动获取目录下的模板的代码
2010/08/08 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
jQuery 动态酷效果实现总结
2009/12/27 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python实现将内容分行输出
2015/11/05 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
python得到单词模式的示例
2018/10/15 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
护理专业个人求职简历的自我评价
2013/10/13 职场文书
个人考核材料
2014/05/15 职场文书
2014公司年终工作总结
2014/12/19 职场文书
小学重阳节活动总结
2015/03/24 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技