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时间模块datetime、time、calendar的使用方法
Jan 13 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
Django的CVB实例详解
Feb 10 Python
适合Python初学者的一些编程技巧
Feb 12 Python
Python更新所有已安装包的操作
Feb 13 Python
python标准库OS模块详解
Mar 10 Python
Python 使用office365邮箱的示例
Oct 29 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
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
python删除列表中重复记录的方法
2015/04/28 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Django异步任务线程池实现原理
2019/12/17 Python
Python将字典转换为XML的方法
2020/08/01 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
交通文明倡议书
2014/05/16 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
看上去很美观后感
2015/06/10 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书