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 Web服务器Tornado使用小结
May 06 Python
跟老齐学Python之有点简约的元组
Sep 24 Python
Python os模块学习笔记
Jun 21 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
用Python实现大文本文件切割的方法
Jan 12 Python
python写日志文件操作类与应用示例
Jul 01 Python
python3字符串操作总结
Jul 24 Python
Django项目基础配置和基本使用过程解析
Nov 25 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 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
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python实现批量改文件名称的方法
2015/05/25 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Python中调用其他程序的方式详解
2019/08/06 Python
python 进程的几种创建方式详解
2019/08/29 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
苹果Mac升级:MacSales.com
2017/11/20 全球购物
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
领导党性分析材料
2014/02/15 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
毕业生求职信
2014/06/10 职场文书
营销与策划专业求职信
2014/06/20 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
刑事起诉书范文
2015/05/19 职场文书
物业公司管理制度
2015/08/05 职场文书
详解Python牛顿插值法
2021/05/11 Python
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫