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中for循环控制语句用法实例
Jun 02 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Django实现简单分页功能的方法详解
Dec 05 Python
SVM基本概念及Python实现代码
Dec 27 Python
用Django写天气预报查询网站
Oct 21 Python
Python3数字求和的实例
Feb 19 Python
解决python有时候import不了当前的包问题
Aug 28 Python
Python上下文管理器用法及实例解析
Nov 11 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
Python flask框架实现查询数据库并显示数据
Jun 04 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
用javascript实现倒计时效果
2021/02/09 Javascript
python合并文本文件示例
2014/02/07 Python
Python中的filter()函数的用法
2015/04/27 Python
用Python编写简单的定时器的方法
2015/05/02 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python面向对象之Web静态服务器
2019/09/03 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
python3.4中清屏的处理方法
2020/07/06 Python
python如何删除列为空的行
2020/07/17 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
抗洪救灾感谢信
2015/01/22 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
党员证明信
2015/06/19 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Python中的 No Module named ***问题及解决
2022/07/23 Python