首页 > 编程知识 正文

实现二分查找算法,二分查找的过程

时间:2023-05-06 10:07:00 阅读:110077 作者:3484

前提:列表有序!!!

bisect ()和bisect_right ()是等效的,所以我将介绍bisect_left () )和bisec_right () )之间的区别!

使用方法:

索引1=bisect (ls,x ) #第一个参数是列表,第二个参数是要搜索的数量,返回值是索引2=bisect _ left ) ls,x )索引3=bisec _ bisec

import bisectls=[ 1,5,9,13,17 ] index1=bisect.bisect (ls,7 ) index2=bisect.bisect_left ) ls,7 ) index

如果索引1=2,索引2=2,索引3=2列表中只有一个等于x的元素,则bisect_left(ls,x )的值是ls中的x的合适的插入点索引,使得数组有序,ls

import bisectls=[ 1,5,9,13,17 ] index1=bisect.bisect (ls,9 ) index2=bisect.bisect_left ) ls,9 ) index

当在索引1=3、索引2=2、索引1=3列表中存在多个等于x的元素时,bisect_left(ls,x )返回索引,此时返回ls [索引1 ] bisect_right(ls,x )返回索引加1,此时ls[index3] x。

importbisectls=[ 1,5,5,5,17 ] index1=bisect.bisect (ls,5 ) index2=bisect.bisect_left ) ls,5 ) index3 index2={},index3={}.format(index1,index2,index3) )程序的执行结果为,

索引1=4,索引2=1,索引3=4

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。