Python实现二分查找算法实例

作者:buaa_shang 时间:2022-04-07 08:44:37 

本文实例讲述了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,算法
0
投稿

猜你喜欢

  • 远程连接access数据库的几个方法

    2008-10-21 21:16:00
  • HTML 5 Video概述

    2010-06-23 18:56:00
  • django xadmin中form_layout添加字段显示方式

    2023-08-06 23:59:12
  • 如何使用 Python 读取文件和照片的创建日期

    2023-11-17 01:25:00
  • PHP 使用header函数设置HTTP头的示例解析 表头

    2023-09-03 19:12:49
  • Ubuntu16安装Python3.9的实现步骤

    2021-01-23 14:04:53
  • 在ASP中使用Oracle数据库技巧

    2008-05-17 11:47:00
  • 自己写的一个PJBlog中可以双击输入验证码的修改

    2009-05-17 10:51:00
  • php查找指定目录下指定大小文件的方法

    2023-09-03 17:53:36
  • opencv 图像滤波(均值,方框,高斯,中值)

    2022-12-04 23:41:07
  • Python简单实现图片转字符画的实例项目

    2023-02-24 02:01:47
  • python em算法的实现

    2021-09-18 11:45:30
  • 线上问题排查之golang使用json进行对象copy

    2023-10-06 05:03:23
  • 基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解

    2023-04-09 17:28:45
  • Python内置函数 next的具体使用方法

    2023-09-30 18:42:28
  • 交互设计实用指南系列(2) –可及

    2010-01-21 12:48:00
  • jQuery入门之–属性(一)

    2009-07-12 15:29:00
  • css:小技巧大问题,cellSpacing用css样式代替方法,其它样式类似解决!

    2009-10-04 20:35:00
  • 不支持RSS,如何跟踪网站的内容更新?

    2008-09-08 12:38:00
  • 刚学完怎么用Python实现定时任务,转头就跑去撩妹!

    2022-07-09 06:50:02
  • asp之家 网络编程 m.aspxhome.com