我们昨天大致地讲了一下二分查找 的概念,今天我们要来学习一下如何用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。
好的,今天的内容就讲到这里啦~内容不多,但是好好看一下上面那段代码哦~
(文章图片若有侵权,请联系作者删除)
原文地址:https://www.cnblogs.com/Galaxyfengfeng/p/9180633.html
时间: 2024-10-05 05:49:59