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迭代器和生成器介绍
Mar 06 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
Python使用django获取用户IP地址的方法
May 11 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
详解Python中的动态属性和特性
Apr 07 Python
python实现函数极小值
Jul 10 Python
Python 寻找局部最高点的实现
Dec 05 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
python sorted函数原理解析及练习
Feb 10 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
Python包和模块的分发详细介绍
Jun 19 Python
python使用建议与技巧分享(二)
Aug 17 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版(4)
2006/10/09 PHP
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
Vue实现简单分页器
2018/12/29 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
利用Python抓取行政区划码的方法
2016/11/28 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
详解Python locals()的陷阱
2019/03/26 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
怎么写好自荐信
2013/10/30 职场文书
社保委托书怎么写
2014/08/02 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
加入学生会自荐书
2015/03/05 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
webpack的移动端适配方案小结
2021/07/25 Javascript