- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
专题18查找算法
知识点一二分查找的算法思想
1.有如Python程序段:
importrandom
deffind(x,y):
m=(x+y+1)//2
ifa[m]==key:
returnm
ifa[m]key:
y=m-1
else:
x=m+1
returnfind(x,y)
a=[2,4,6,8,10,12,14,16]
key=random.choice(a)#从序列的元素中随机挑选一个元素
i=0;j=len(a)-1
xb=find(i,j)
print(xb,key)
上述程序执行完后,函数find被调用的最多次数是()
A.3 B.4
C.5 D.6
2.某对分查找算法的Python程序如下:
f=[0]*20
i=0;j=19;n=0;m=0
whilei=jandf[m]==0:
m=(i+j+1)//2
n=n+1
ifa[m]==key:
f[m]=1
elifa[m]key:
j=m-1
else:
i=m+1
数组a中的元素各不相同且按降序排列,执行该程序段后n的值为4,则key的值不可能为()
A.a[1]B.a[4]C.a[12] D.a[16]
3.有如下Python代码:
n=int(input(″请输入一个数:″))
a=[iforiinrange(n)]
c=0
foriinrange(1,n):
L=1;R=i-1
whileL=R:
m=(L+R)//2
ifa[i]*a[m]==n:
c+=1
break
elifa[i]*a[m]n:
L=m+1
else:
R=m-1
print(c)
输入36,执行程序后,输出结果是()
A.1 B.2C.3 D.4
4.某二分查找算法的程序段如下:
key=int(input(待查数据为:))
i=0;j=10;n=0
whilei=j:
m=(i+j+1)//2
ifa[m]==key:
break
elifa[m]key:
j=m-1;n=n-1
else:
i=m+1;n=n+1
执行该程序段后,下列说法正确的是()
A.该程序若要实现对分查找,要求数组a按降序排列
B.若n为-2,则查找key值可能等于a[3]的值
C.若n为2,则查找key的值可能小于a[10]
D.n的值最小为-4,最大为4
5.有如下Python程序:
a=[83,80,66,46,44,36,21,16,15,12]
key=int(input(″输入要查找的数:″))
i=0;j=9
ans=″″
whilei=j:
m=(i+j+1)//2
ifkey==a[m]:
break
elifkeya[m]:
j=m-1
else:
i=m+1
ans=ans+str(a[m])+″″
print(ans)
执行该程序,输入80,则输出的结果是()
A.3666 B.4480
C.3646 D.4466
6.某二分查找算法的Python程序段如下:
i,j=0,24
n=0
whilei=j:
m=(i+j+1)//2
n=n+1
ifkey==a[m]:
break
ifkeya[m]:
i=m+1
else:
j=m-1
print(n)
列表a中各元素值依次为1~25,若查找键key为下列选项的值,程序段执行后,输出结果与其他三项不同的是()
A.7 B.12
C.19 D.22
7.如下Python程序段:
importrandom
a=[1,3,5,7,9,11,13,15]
key=random.randint(1,8)*2
i,j=0,len(a)-1
s=0
whilei=j:
m=(i+j+1)//2
ifa[m]==key:
break
ifa[m]key:
j=m-1;s-=1
else:
i=m+1;s+=1
print(s)
上述程序执行完以后,s的值可能有()
A.4种 B.5种
C.7种 D.8种
8.小明为英文字母A~Z定义了一套全新的二进制编码规则,代码如下
s=[chr(i+65)foriinrange(26)]
dc={}
forkins:
i=0
j=len(s)-1
rt=″0″
whilei=j:
m=(i+j)//2
ifs[m]==k:
dc[k]=rt
break
elifs[m]k:
i=m+1
rt+=″1″
else
您可能关注的文档
- 第3章设计与制作三维创意作品3.2三维创意作品赏析-高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第3章设计与制作三维创意作品3.3规划设计三维动画 -高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第3章设计与制作三维创意作品3.4构建三维动画模型 -高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第3章设计与制作三维创意作品3.5设计三维动画模型的外观 -高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第3章设计与制作三维创意作品3.6三维动画实现和作品发布-高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第3章数据处理与应用3.1数据处理的一般过程 高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第3章数据处理与应用3.2数据采集与整理 高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第3章数据处理与应用3.3数据分析与可视化 高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第3章数据处理与应用3.4数据分析报告与应用 高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第3章数据管理3.1数据库与数据管理 -高中教学同步《信息技术数据管理与分析》(教案)(人教-中图版2019).docx
- 2025届信息技术一轮复习练习:专题19 基于数据结构的算法实现(含答案).docx
- 第1章 认识数据与大数据 1.2数字化与编码-高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第1章 认识数据与大数据1.1 数据、信息与知识-高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第1章 认识数据与大数据1.3数据科学与大数据 -高中教学同步《信息技术-数据与计算》(教案)(人教-中图版2019).docx
- 第1章开源硬件及其特征1.3开源硬件的特征 -高中教学同步《信息技术人工-开源硬件项目设计》(教案)(人教-中图版2019).docx
- 第1章开源硬件及其特征1.4开源硬件与创新 -高中教学同步《信息技术人工-开源硬件项目设计》(教案)(人教-中图版2019).docx
- 第1章人工智能概述1.1人工智能基础-高中教学同步《信息技术-人工智能初步》(教案)(人教-中图版2019).docx
- 第1章人工智能概述1.2工智能发展历程和现状-高中教学同步《信息技术-人工智能初步》(教案)(人教-中图版2019).docx
- 第1章三维设计基础1.1初识三维设计 -高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
- 第1章三维设计基础1.2三维设计的相关技术 -高中教学同步《信息技术人工-三维设计与创意》(教案)(人教-中图版2019).docx
原创力文档


文档评论(0)