简单实现一下二分查找
Posted galaxyfengfeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单实现一下二分查找相关的知识,希望对你有一定的参考价值。
我们昨天大致地讲了一下二分查找 的概念,今天我们要来学习一下如何用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。
好的,今天的内容就讲到这里啦~内容不多,但是好好看一下上面那段代码哦~
(文章图片若有侵权,请联系作者删除)
以上是关于简单实现一下二分查找的主要内容,如果未能解决你的问题,请参考以下文章