python二分函数,二分法python

python中list有没有自带二分查找函数

要判断一个list中是否存在你要的东西,可以用 value in list 的方式或者 list.index(value), 具体python内部实现用的什么算法。。。自己研究吧。

成都创新互联于2013年成立,先为盐边等服务建站,盐边等地企业,进行企业商务咨询服务。为盐边企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

python实现二分查找算法

二分查找算法,是常见的搜索算法之一,适用于有序的序列,通过将序列不断的对折分为区间,从而确定查找值是否存在,优点是速度快。

首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

使用python递归实现其算法:

二分查找是应用在数据量较大的场景中,如一些图片的RGB数组操作中,典型的是在滑块验证中使用二分法来确定最佳距离。

python 二分查找算法函数bi_search(),该函数实现检索任意一个整数在 prime() 函数生成的

def prime(n):

if n=2:

return []

result=[False,False]+[True]*(n-2)

for i in range(len(result)):

if result[i]==True:

for j in range(2*i,len(result),i):

result[j]=False

return [i for i in range(len(result)) if result[i]==True]

def bi_search(prime,primelist,start,end):

if startend :

return -1

mid=(start+end)//2

if primelist[mid]==prime:

return mid

elif primelist[mid]prime:                

end=mid-1

else:

start=mid+1

return bi_search(prime,primelist,start,end)

if __name__=='__main__':

n=int(raw_input())

primelist=prime(n)

num=raw_input()

while num:

num=int(num)

index=bi_search(num,primelist,0,len(primelist)-1)

print(index)

num=raw_input()


分享题目:python二分函数,二分法python
转载注明:http://pwwzsj.com/article/hchpsh.html