码迷,mamicode.com
首页 > 其他好文 > 详细

简单实现一下二分查找

时间:2018-06-14 01:06:01      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:删除   size   二分   解释   如何   简单   bsp   seq   个数   

我们昨天大致地讲了一下二分查找 的概念,今天我们要来学习一下如何用python代码把二分查找简单地实现一下。

技术分享图片

 

好的,废话不多说,直接看代码:

def LSF(seq, number, lower, upper)
   if lower == upper:
       assert number == seq[upper]
       return upper
else:
   middle = (lower + upper)/2
   if number  > seq[middle]:
       return search(seq, number, middle +1, upper) 
   else:
       return search(seq, number, lower, middle)

上面这段代码只是大概地实现了一下二分查找的功能,没有具体的赋值,我们来解析一下这段代码,可能看起来有一点点多。

我们先来解释一下上面每一个变量代表什么,seq表示寻找的序列,number表示要找的数,lower表示最低那个数的序号,upper则表示最高那个数的序号。

接下来解释一下语法,先判断是否只有一个数,也就是lower是否等于upper,如果等于就没比较的必要了,直接输出结果就行了,接下来就是运算一下lower不等于upper的情况。直接把所有的数对半分,接着进行比较,看一下number在哪一半里面,在进行对半分,知道找到number。

好的,今天的内容就讲到这里啦~内容不多,但是好好看一下上面那段代码哦~

 技术分享图片

 

(文章图片若有侵权,请联系作者删除)

简单实现一下二分查找

标签:删除   size   二分   解释   如何   简单   bsp   seq   个数   

原文地址:https://www.cnblogs.com/Galaxyfengfeng/p/9180633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!