python实现二分法查找(二分法查找及其python实现案例)
首发

python实现二分法查找(二分法查找及其python实现案例)

优质
请用语音读文章

在计算机科学中。二分搜索(英语:binary search)。也称折半搜索(英语:half-interval search)[1]、对数搜索(英语:logarithmic search)[2]。是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始。如果中间元素正好是要查找的元素。则搜索过程结束;如果某一特定元素大于或者小于中间元素。则在数组大于或小于中间元素的那一半中查找。而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空。则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。

输出结果是:

Bisect模块提供的函数有:

(1)查找

bisect.bisect_left(a,x, lo=0, hi=len(a)) :

查找在有序列表a中插入x的index。lo和hi用于指定列表的区间。默认是使用整个列表。

bisect.bisect_right(a,x, lo=0, hi=len(a))

bisect.bisect(a, x,lo=0, hi=len(a))

这2个和bisect_left差不多。但如果x已经存在。在其右边插入。

(2)插入

bisect.insort_left(a,x, lo=0, hi=len(a))

在有序列表a中插入x。如果x已经存在。在其左边插入。返回值为index。 和a.insert(bisect.bisect_left(a,x, lo, hi), x) 的效果相同。

bisect.insort_right(a,x, lo=0, hi=len(a))

bisect.insort(a, x,lo=0, hi=len(a))

和insort_left差不多。但如果x已经存在。在其右边插入。

可以函数可以分2类。bisect*。用于查找index。Insort*用于实际插入。默认重复时从右边插入。实际常用的估计是insort。

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

美剧推荐([推荐]十部经典英)

请用语音读文章推荐几部最受欢迎的。也最流行的美剧:1.《宋飞正传》Seinfel[&...

菠萝蜜怎么剥(剥菠萝蜜沾手)

请用语音读文章你热爱吃菠萝蜜吗?在北方人看来。这些热带水果都算得上是对比稀罕的水果[...

十大热血校园的电影排名(十部热血高校电影)

请用语音读文章关于校园题材的电影有许多。但是因为其表现形式的不同。其受众的群体也并[...

魔兽世界板甲幻化大全(《魔兽世界》年末总结)

请用语音读文章艾泽拉斯世界回头率100%的板甲幻化。你绝对值得拥有。调料包头:[&h...

发表评论

您的电子邮箱地址不会被公开。