二分查找的原理:

1:查找的列表和元组是有序的

2:定义一个中间值的标志位,以这个标志位和要查找的元素进行比较

3:中间标志位=查找元素,查找成功

4:中间标志位>查找元素,要找的元素在左边

5:中间标志位<查找元素,要找的元素在右边

def binary_search(data_source,find_n):
  mid=int(len(data_source)/2)   (中间标志位)
  if len(data_source)>=1:
    if data_source[mid]>find_n:  (中间元素大于要查找的元素,向左边查找)
      binary_search(data_source[:mid],find_n)
    elif data_source[mid]<find_n:  (中间元素大于要查找的元素,向右边查找)
      binary_search(data_source[mid:],find_n)
    else:
      print("找到了")

转载于:https://www.cnblogs.com/gaoyuxia/p/10271797.html

正确理解python中二分查找相关推荐

  1. python中二分查找什么意思_python中二分查找法的实现方法

    如果想要在有序数据中进行查找想要的数据,二分查找法就个好方法,它可以大大缩短了搜索时间,是一种常见的查找方法.二分查找很好写,却很难写对,下面,小编就简单向大家介绍一下二分查找,并演示器使用代码. 1 ...

  2. python的上下文管理用哪个关键字_正确理解python中的关键字“with”与上下文管理器...

    正确理解python中的关键字"with"与上下文管理器 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  正确理解python中的关键字&quo ...

  3. python函数教程:Python递归函数 二分查找算法实现解析

    这篇文章主要介绍了Python递归函数 二分查找算法实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.初始递归 递归函数:在一个函数里在调 ...

  4. Python实现二分查找算法,图片结合代码讲解,简单易懂

    Python实现二分查找算法,图片结合代码讲解,简单易懂 二分查找是指在一个数组中循环找到特定的目标元素的一种算法,二分查找算法要求这个数组必须是有序的,如果不是有序则最后得出的结果是不准确的,因为其 ...

  5. python实现二分查找(折半查找)算法

    python实现二分查找算法 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法.但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列. 查找又称折半 ...

  6. python怎么导入包-如何理解Python中包的引入

    Python的from import *和from import *,它们的功能都是将包引入使用,但是它们是怎么执行的以及为什么使用这种语法呢? 从一模块导入全部功能 from import * me ...

  7. 七十六、Python | Leetcode二分查找和分治算法系列

    @Author:Runsen @Date:2020/7/4 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  8. python函数可以作为容器对象吗_正确理解Python函数是第一类对象

    正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数 ...

  9. 正确理解Python函数是第一类对象

    正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数 ...

最新文章

  1. mysql的聚合函数综合案例_MySQL常用聚合函数详解
  2. [CISCN2018]crackme-java
  3. 建立ssh无密码登录环境
  4. 医学图像处理期末复习(二)
  5. mac idea在mybatis xml文件里引入全限定类名报红解决
  6. matlab的灰色关联,灰色关联度Matlab代码
  7. asp.net权限控制配置web.config
  8. JavaScript 面向对象
  9. 嵌入式linux中文繁体字库,嵌入式Linux下中文字体显示
  10. 什么是Web全栈工程师
  11. python自动生成字幕_【教程】每天30分钟免费的视频自动生成字幕的方法
  12. time stamp convert
  13. adobe cs4系列套装及注册机下载
  14. 【Java】所有做过的面试题
  15. 关于在vue项目中引入pdf.js的跨域问题(已解决)。
  16. 使用Sharepoint Designer 无法打开站点提示错误403 forbidden
  17. 游戏数据后台,kafka代替rsync同步日志数据
  18. 使用Appinum爬取微信朋友圈
  19. apache avro 简介
  20. Day2多种抓包工具介绍以及使用封包监听工具找到挑战数据包实现发送数据包进行挑战

热门文章

  1. pt-online-schema-change中update触发器的bug
  2. oracle中避免sort操作
  3. 30个Oracle语句优化规则详解
  4. 多层PCB的叠层板材
  5. git 撤销全部的commit_git 撤销commit
  6. 计算属性一般是没有set方法, 只读属性 ||计算属性的缓存
  7. Learn About Service Console Productivity Tools
  8. 函数的使用——未完待续
  9. System.window.media.color
  10. STM32 单片机启动流程