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 相关文章推荐
linux系统使用python监测系统负载脚本分享
Jan 15 Python
python使用分治法实现求解最大值的方法
May 12 Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 Python
python实现神经网络感知器算法
Dec 20 Python
利用python将图片转换成excel文档格式
Dec 30 Python
详解Python用户登录接口的方法
Apr 17 Python
python实现银行管理系统
Oct 25 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
为什么相对PHP黑python的更少
Jun 21 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
document.compatMode介绍
2009/05/21 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
了解在JavaScript中将值转换为字符串的5种方法
2019/06/06 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
Python读取word文本操作详解
2018/01/22 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python如何进行时间处理
2020/08/06 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
支教自我鉴定
2014/01/18 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
大家访活动实施方案
2014/03/10 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
就业意向书范本
2015/05/11 职场文书