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使用wmi模块获取windows下硬盘信息的方法
May 15 Python
对python的文件内注释 help注释方法
May 23 Python
python中单下划线_的常见用法总结
Jul 10 Python
Flask框架信号用法实例分析
Jul 24 Python
python绘制地震散点图
Jun 18 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
python 发送json数据操作实例分析
Oct 15 Python
python学生管理系统的实现
Apr 05 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
python 19个值得学习的编程技巧
Aug 15 Python
编写python代码实现简单抽奖器
Oct 20 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 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/05/18 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
点图片上一页下一页翻页效果
2008/07/09 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
使用D3.js制作图表详解
2017/08/13 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python绘制双柱形图代码实例
2017/12/14 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
商务日语专业毕业生自荐信
2014/03/27 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
2016年大学生党员承诺书
2016/03/24 职场文书