二分查找函数python 二分查找函数c语言

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中list有没有自带二分查找函数

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

python算法:二分查找

二分查找: 又称折半查找 ,输入一个有序的元素列表(必须是有序的), 将列表中间位置记录的元素与查找元素比较, 如果查找的元素包含在列表中, 则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的元素大于查找元素,则进一步查找前一子表,否则进一步查找后一子表,重复以上过程,直到找到满足条件的记录,使查找成功, 二分查找 返回其位置; 或直到子表不存在为止,此时查找不成功 ,返回None。

二分查找算法要求 : .必须是有序列表;

二分查找算法时间复杂度: O(log n)

二分查找算法优点: 比较的次数少,查找速度快,平均性能好,占用系统内存较少。

def binary_search(list,item):

low = 0

high = len(list) - 1

while low = high:

mid = int((low + high)/2) # 整除计算也可用 mid = (low + high)//2

guess = list[mid]

if guess == item:

return mid

if guess item:

low = mid + 1

else:

high = mid - 1

return None

my_list = [1,3,5,6,8,7,9,12,18,45]

print (binary_search(my_list,2))

print (binary_search(my_list,12))

分享名称:二分查找函数python 二分查找函数c语言
浏览地址:https://www.cdcxhl.com/article22/dogsjjc.html

成都网站建设公司_创新互联,为您提供做网站外贸建站网站收录手机网站建设营销型网站建设面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设