??二分算法的定义不在多说了,百度一下就知道(支持国产 ) import syssource = [1,2,3,4,5,6,7,8,9,10] #must be in orderdes = int(sys.argv[1])low = 0high = len(source) - 1targetIndex = -1print "des=",deswhile low = high: middle = (low + high)/2

??二分算法的定义不在多说了,百度一下就知道(支持国产

)

import sys

source = [1,2,3,4,5,6,7,8,9,10] #must be in order

des = int(sys.argv[1])

low = 0

high = len(source) - 1

targetIndex = -1

print "des=",des

while low <= high:

middle = (low + high)/2

if des == source[middle]:

targetIndex = middle

break

elif des < source[middle]:

high = middle -1

print "middle element[index=",middle,",value=",source[middle],"] is bigger than des, continue search from[",low,"to",high,"]"

else:

low = middle + 1

print "middle element[index=",middle,",value=",source[middle],"] is smaller than des, continue search from[",low,"to",high,"]"

print "search complete, target element's index in source list is ",targetIndex

?运行结果如下:

大小: 5.2 KB

查看图片附件

python实现二分查找算法_python实现二分查找算法相关推荐

  1. python数圈算法_Python实现随机爬山算法

    随机爬山是一种优化算法.它利用随机性作为搜索过程的一部分.这使得该算法适用于非线性目标函数,而其他局部搜索算法不能很好地运行.它也是一种局部搜索算法,这意味着它修改了单个解决方案并搜索搜索空间的相对局 ...

  2. python字符串find函数实现_python中实现查找字符串的find函数

    原博文 2018-06-19 19:26 − 第五题:自己实现一个字符串的find函数1.在一个字符串中查找另一个字符串2.找到了返回第一次出现的位置3.没找到返回-14.参数s1为源字符串,参数s2 ...

  3. python实现排序算法_python实现各种排序算法

    冒泡排序 """ 分析 1. 算法是一种与语言无关的东西,更确切地说就算解决问题的思路,就是一个通用的思想的问题 2. 冒泡算法作为最简单的一种排序算法,我们的关注点不应 ...

  4. pythonopencv算法_python opencv之SURF算法示例

    本文介绍了python opencv之SURF算法示例,分享给大家,具体如下: 目标: SURF算法基础 opencv总SURF算法的使用 原理: 上节课使用了SIFT算法,当时这种算法效率不高,需要 ...

  5. python 二分查找算法_Python实现二分查找法

    用Python来实现二分查找 1.问题需求 输入列表[1,4,4,5,7,7,8,9,9,10]和目标整数1,输出其所在的位置为0,即第1次出现在第0个位置.输入列表[1,2,3,3,4,5,10]和 ...

  6. python寻峰算法_python/scipy的寻峰算法

    我可以自己写一些东西,通过找到一阶导数的零交叉点或其他东西,但它似乎是一个足够通用的函数,可以包含在标准库中.有人知道吗? 我的特殊应用是一个二维数组,但通常它会用于在FFT等中查找峰值. 具体地说, ...

  7. python希尔排序的优缺点_Python排序搜索基本算法之希尔排序实例分析

    本文实例讲述了Python排序搜索基本算法之希尔排序.分享给大家供大家参考,具体如下: 希尔排序是插入排序的扩展,通过允许非相邻的元素进行交换来提高执行效率.希尔排序最关键的是选择步长,本程序选用Kn ...

  8. python决策树id3算法_python实现决策树ID3算法

    一.决策树概论 决策树是根据训练数据集,按属性跟类型,构建一棵树形结构.可以按照这棵树的结构,对测试数据进行分类.同时决策树也可以用来处理预测问题(回归). 二.决策树ID3的原理 有多种类型的决策树 ...

  9. python实现堆排序算法_Python实现的堆排序算法示例

    本文实例讲述了Python实现的堆排序算法.分享给大家供大家参考,具体如下: 堆排序的思想:堆是一种数据结构,可以将堆看作一棵完全二叉树,这棵二叉树满足,任何一个非叶节点的值都不大于(或不小于)其左右 ...

最新文章

  1. [BZOJ2527]Meteors
  2. 论坛报名 | 视觉大模型是实现视觉智能的必由之路吗?
  3. mount /mnt/cdrom 提示错误信息“mount: can't find /mnt/cdrom in /etc/fstab or /etc/mtab”
  4. new,is和as运算符解析及运行时类型,对象,线程堆栈,托管堆之间的联系
  5. ViewBag ViewData
  6. Python案例:通过城市区域代码查询天气
  7. 升级到ASP.NET2.0之后的疑问
  8. 设置Emeditor为Python的简易开发工具
  9. 微博指数导出csv文件下载说明
  10. 数据库三大范式、BCNF范式、反范式
  11. 局域网共享一键修复(转载)
  12. 深入解析SpringBoot启动原理
  13. 2021年度上海公务员考试公告(11月05日开启)
  14. JS 点击气泡卡片自身外的区域自动关闭的代码逻辑
  15. JMS578开PS3111固件方法,SATA/USB通用,附群联PS3111量产开卡软件
  16. 函数式编程与Lambda表达式
  17. 什么是深度卷积神经网络,基于深度卷积神经网络
  18. 【windows8开发】开发平台与开发框架
  19. 瑞士洛桑联邦理工学院:研究显示用我们的身体和动作操纵无人机比摇杆更适合...
  20. 西安电子科技大学计算机研一水课答案整理

热门文章

  1. 中原大学 php,中原大学php全集视频教程
  2. php72w redis,docker php7安装php-redis
  3. 学完java后学编译原理_一个资深程序员对Java初学者的学习思维路线建议
  4. 第9章例题 7-2 学生成绩排序
  5. linux 优化内存分配,Linux性能优化 第三章 性能工具:系统内存
  6. 在 Vue 中正确使用 防抖 和 节流
  7. 6.求级数e = 1 + 1/1! + 1/2! + 1/3! + …… 1/n! 要求: 求n项(n由键盘输入)或最后一项小于10-6结束。
  8. PHP索引数组+unset使用不当导致的问题
  9. 一个墙纸还可以改变使用裁剪工具改变图像
  10. VoIP协议标准浅析