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使用socket进行简单网络连接的方法
Apr 29 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
Python内存读写操作示例
Jul 18 Python
python实现括号匹配的思路详解
Aug 23 Python
Django实现学生管理系统
Feb 26 Python
对Django中内置的User模型实例详解
Aug 16 Python
django序列化时使用外键的真实值操作
Jul 15 Python
详解Python中第三方库Faker
Sep 25 Python
Python爬虫新手入门之初学lxml库
Dec 20 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
Python编程super应用场景及示例解析
Oct 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
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
node.js操作mysql简单实例
2017/05/25 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
全面理解Python中self的用法
2016/06/04 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Python的语言类型(详解)
2017/06/24 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Python批量启动多线程代码实例
2020/02/18 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
中间件分为哪几类
2016/09/18 面试题
网络书店创业计划书
2014/02/07 职场文书
给学校的建议书范文
2014/05/15 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
先进班组材料范文
2014/12/25 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Vue2.0搭建脚手架
2022/03/13 Vue.js
Go语言安装并操作redis的go-redis库
2022/04/14 Golang