|试卷下载
搜索
    上传资料 赚现金
    第五章 数据结构与算法练习题
    立即下载
    加入资料篮
    第五章 数据结构与算法练习题01
    第五章 数据结构与算法练习题02
    第五章 数据结构与算法练习题03
    还剩17页未读, 继续阅读
    下载需要5学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    第五章 数据结构与算法练习题

    展开
    这是一份第五章 数据结构与算法练习题

    第五章 数据结构与算法练习题一.选择题(共30小题)1.8位同学的语文数学成绩总分从高到低为“178,176,173,172,170,168,163,160”。用二分查找法178的过程中,依次被访问到的成绩数据是(  )A.178 B.172,176,178 C.172,173,178 D.172,173,176,1782.有如图 python 程序段,该程序段运行后,变量 k1,k2 的值分别为(  )A.3,2 B.2,3 C.6,4 D.4,63.有Python程序段,功能如下:运行程序后输入要查找的key值,要求在一个由n个数组成的降序排序队列的数组中,查找第一个小于等于key的元素下标并输出。key=int(input(  ))L,R=0,nwhile L<R:m= if :L=melse:R=m﹣1if L=n:print(“数据不存在“)else:print(str(L+1))要使程序实现上述功能,画线处填入的代码是(  )A.(L+R+1)//2 a[m]>key B.(L+R+1)//2 a[m]>=key C.(L+R)//2 a[m]>key D.(L+R)//2 a[m]>=key4.有如下Python程序段:s=input(“请输入一串字符串:”)m=cnt=1for i in range(1,len(s)):if s[i]>s[i﹣1]:cnt+=1if cnt>m:m=cntelse:cnt=1print(m)该程序段的功能是(  )A.输出字符串s中最大的字符的索引 B.输出字符串s中最大的字符 C.输出字符串s中最长的递增序列 D.输出字符串s中最长的递增序列长度5.峰值元素指数组中其值大于左右相邻值的元素,如序列3,8,4,1中8为峰值元素。一个数组中可能包含多个峰值元素,现需要找出其中一个峰值元素所在的位置(默认第一个数的左侧和最后一个数的右侧值为0,即序列1、2、3中3也为峰值元素)。现有实现该功能的Python程序如下:数组a=[10,2,25,17,20,21,9],执行该程序后,输出的值为(  )A.0 B.2 C.5 D.86.某程序段如下:执行该程序后,当输入的key值为15时,输出的结果是(  )A.[23,15] B.[23,19,15] C.[20,15] D.[20,19,15]7.某Python程序如下:数组a中的元素为“58,69,78,80,83,84,90,90,95“,则执行该程序段后,数组 s中的元素不可能为(  )A.83,90,95 B.83,78,80 C.83.90,90,84 D.83,78,69,588.某二分查找算法的Python程序段如下:执行该程序段后,ans 的值不可能是(  )A.19 B.27 C.37 D.449.有如下Python程序段:a=[99,85,74,68,53,42,34,27,20,13]key=int(input(“请输入一个整数:”))i,j,k,c,flag=0,9,0,“N”,Falsewhile i<=j and flag==False:m=(i+j+1)//2k=k+1if key==a[m]:c=“Y“flag=Trueif key>a[m]:j=m﹣1else:i=m+1print(c,k)执行该程序段后,下列说法正确的是(  )A.该程序段既能用于升序序列的查找,也能用于降序序列的查找 B.若输出k的值为2,则c的值一定为Y C.若输入key的值为74,程序执行后变量i和j的值分别为0和4 D.输入两位任意正整数,k的值介于1和3之间10.有如下Python程序段:执行该程序段后,输出的结果不可能出现的是(  )A.“LLL” B.“LRL” C.“RLR” D.“RRRR”11.部分算法流程图,如图所示,当12+22+……+i2>=1500时,求i的最小值,以下选项中,图中①、②和③处填入不正确的是(  )A.①i←0;②i←i+1,t←t+i**2;③i B.①i←1;②t←t+i**2,i←i+1;③i C.①i←1;②t←t+i**2,i←i+1;③i﹣1 D.①i←0;②t←t+i**2,i←i+1;③i﹣112.某算法的VB程序段如下:列表a=[23,21,19,18,16,15,14,11],该程序段执行后,下列说法不正确的是(  )A.i的值为j+1 B.i的值可能是8 C.j的值可能是5 D.c的值一定是313.某算法的部分流程图如下图所示,执行这部分流程后,下列说法不正确的是(  )A.语句“s<100?”共执行了 5 次 B.交换“s←s+a*a”和“a←a+2”,执行结果相同 C.循环体共执行了4 次 D.变量 a 的值为 1014.使用升序排序算法对列表[130,20,98,15,67,3]进行排序后结果为(  )A.[130,20,98,15,67,3] B.[3,15,20,67,98,130] C.[15,20,98,67,3,130] D.[130,98,67,20,15,3]15.某二分查找算法的 python 程序段如下,运行该段代码后,输出的结果不可能是(  )A.LLM B.LRM C.RRRM D.RRLM16.某算法的流程图如图所示,输入进制 k(k>=2 且k<=16)以及十进制数 n 后,可输出为n 对应的 k、进制的数,该程序运行后,下列说法正确的是(  )A.若输入 k=16,n=93,则输出的结果为 513 B.若输入 k=8,n=35,共循环了 3 次 C.流程图中 s←chr(r+55)+s 也可以改成 s←s+chr(r+55),不影响转换结果 D.流程图中 s←chr(r+55)+s 只有当 k>10 才会被执行17.有如下Python程序段已知数组a中的值为[10,15,32,32,45,53,53,65,77,98],程序运行后,变量s的值可能是(  )A.“LR“ B.“LRL“ C.“LRR“ D.“RLR“18.有如下VB程序段:数组元素a(1)到a(8)的值依次为“54,12,23,12,7,12,78,23“,执行该程序段后,变量c的值是(  )A.4 B.5 C.6 D.719.下列VB程序段功能为:通过双向冒泡排序,最终使数组元素a(1)到a(n)实现升序排列。上述程序段中横线处可选语句为:①(1)n﹣i to i step﹣1(2)i+2 to n﹣i+1②(1)n﹣i to i+1 step﹣1(2)i to n﹣i③(1)i+1 to n﹣i(2)n﹣1 to i+1 step﹣1④(1)i to n﹣i(2)n﹣i to i+1 step﹣1则(1)(2)处填入的语句组合正确的有(  )A.①③ B.①④ C.②③④ D.②④20.下列关于数据结构的说法正确的是(  )A.“撤销”操作,是“队列”的应用 B.排队就餐,是“栈”的应用 C.“链表”存储相邻节点不需要连续空间 D.“树”中每个节点的前后都只有一个相邻节点21.有如下 VB 程序段:执行该程序段后,a数组中个元素的值不可能的是(  )A.7,5,6,3,3 B.1,2,4,5,6 C.1,1,1,3,6 D.3,2,5,4,122.有如下 VB 程序段:执行该程序段后,变量 k 和 elem(k)的值是(  )A.9“Ne” B.10“Ne” C.9“F” D.10“F”23.有如下VB程序段:数组元素a(1)到a(8)的值依次为“80,82,84,86,88,90,92,94”,执行该程序段后,变量k的值可能是(  )A.1,4,8 B.2,4,8 C.4,16,32 D.1,4,1624.有如下 VB 程序段:执行该程序段后,数组元素 a(1)到 a(6)的值可能为(  )A.977432 B.234779 C.797432 D.97734225.有如下VB程序段:数组元素a(1)到a(10)的值依次为“1,3,5,5,6,6,10,10,11,12”。执行该程序段后,s的值不可能是(  )A.32 B.26 C.22 D.1426.某对分查找算法VB程序如下:数组元素a(1)~a(10)中的数据为“95,89,73,70,68,54,47,43,26,9”,执行该程序后,字符串s的值不可能为(  )A.“LLLR” B.“LRR” C.“RLLL” D.“RRL”27.在升序的a数组中(a(1)<a(2)<a(3)<……<a(n﹣1)<a(n)),用对分查找寻找不小于key 的最小值,VB程序段如下:若满足条件的值存在,则该值是(  )A.i B.i﹣1 C.m D.j+128.有如下VB程序:执行该程序,输出结果可能的是(  )A.3 B.1 C.﹣4 D.229.某对分查找算法的VB程序段如下:数组元素a(1)到a(10)的值依次是“15,19,22,27,32,36,45,51,53,60”,运行上述程序段后,文本框Text2中显示“54 4”,则文本框Textl中输入值的范围是(  )A.[27,32] B.(27,32] C.[27,32) D.(27,32)30.有如下程序段:经过该程序段“加工”后,下列说法正确的是(  )A.数组元素a(1)到a(6)升序排序 B.此过程中数据共比较15次 C.变量n的值为5 D.变量Last的值为4二.操作题(共4小题)31.某排序算法思想如下:每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止。例如(9,3,1,4)升序排序;第一步 3 插入到有序记录(9),得到(3,9);第二步 1 插入到有序记录(3,9),得到(1,3,9);第三步 4 插入到有序记录(1,3,9),得到最终有序记录为“1,3,4,9”。为此,编写了一个 VB 程序,功能如下:运行程序,窗体加载时随机产生 10 个随机整数,并在列表框 List1 中依次显示排序前数据,单击“排序”按钮 Command1,在列表框 List2 中显示经过上述排序算法后的数据,运行结果如图 b 所示。实现上述功能的 VB 代码如下,但加框处代码有错,请改正。Const n=10Dim a(1To n) As Integer'生成 n 个随机数,存储在 a 数组,代码略Private Sub Command1_Click (  )Dim i As Integer,j As Integer,t As IntegerFor i=2To nt=a(i):j=i﹣1Do While t<a(j)a(j+1)=a(j) j=j﹣1If Then Exit DoLoopNext iFor i=1To nList2.AddItem Str(a(i))Next iEnd Sub32.小吕设计了某百货公司的会员积分查询系统,输入会员卡号,可以查出该卡对应的积分.所有的会员卡号和相应的积分已分别保存在数组vip(按从小到大排序)和数字cre中,第i个会员的卡号保存在vip(i)中,对应的卡内积分保存在cre(i)中.程序界面如图所示,在文本框Text1中输入会员卡号,单击“查询”按钮(Command1),相应的卡内积分将在标签Label3中显示.实现上述功能的VB程序如下,请在划线处填入合适代码.Dim vip(1to 10000)as long,cre(1to 10000)as integerConst n=10000‘设会员卡总数为10000‘Form﹣Load事件过程中,在列表框List1中输出所有会员卡的卡员和积分.Private Sub Form_Load (  )代码略End SubPrivate Sub Command1_Click (  )Dim x as long,I as integer,j as integer,m as integerDim find as Booleanx=①i=1j=nfind=FalseDo While i<=j and not find②If x=vip(m) thenFind=trueElseif x<vip(m) thenJ=m﹣1Else③End ifLoopIf find thenLabel3.Caption=“此会员卡的积分为”+④+“分”ElseLabel3.Caption=“找不到此卡号,请重新输入!”End ifEnd Sub(1)此处应用了   算法(填:顺序查找/对分查找).(2)为实现上述功能,程序中划线处的代码应为:①   ;②   ;③   ;④   .33.(一)顺序查找数据:我们假定被查找的数据存储在有n个元素的数组变量d中,要寻找的一个特定的数据(这个数据称为查找键)已经存储在变量key中.下面是顺序查找算法的输入输出说明.输入:查找键(设在变量key中). 被查找的数据(设在数组变量d中).输出:若找到,输出值为key的数据所在的数组元素的下标,记为i;若未找到,输出结果为提示字符串:“找不到“.当在n=8个元素的数组里顺序查找数据的示意图如下:总结顺序查找数据结果判断条件:(1)当找到时,肯定i<=8,n个数据时,肯定i<=n,i即为找到的数组元素下标,d(i)=key;(2)当“找不到“时,i=9>8了;n个数据时,当i=n+1时,表示“找不到“.顺序查找的主程序段如下:Private Sub 顺序查找_Click(  )n个数据放入d(1)到d(n)中Key=Val(Text1.Text):i=1‘变量Key从文本框Text1取的数要查找的数;Do While ① i=i+1LoopIf i<=n ThenText2.Text=“在d(“+Str(i)+“)中“‘例如在文本框Text2显示:“在d(6)中”ElseText2.Text=“找不到“End IfEnd Sub以上程序Do While的条件①是   (A)Key<>d(i) (B)i<=n(C))Key<>d(i) And i<=n (D)Key<>d(i) or i<=n.34.某校成绩查询系统界面如图所示,学生输入自己的身份证号码,可以查询自己的总分及排名。以下为此软件的VB程序,请在划线处填上正确的代码使程序完整。(1)   ;(2)   ;(3)command1_click过程用于查询学生的总分成绩及排名,这一查找方法为:   (顺序查找/对分查找)。Dim a(1to 500)as string‘用于存放参加考试学生的身份证号码Dim s(1to 500)as single‘用于存入参加考试学生的总分成绩‘form_load 过程用于进行一些初如化准备工作Private Sub form_load (  )‘将参加此次考试学生的身份证号码存放在数组a中‘将参加此次考试学生的总分成绩存放在数组s中For i=1to 499‘利用排序法将学生成绩进行降序排序For j=500to i+1step﹣1If ① thent=s(j):s(j)=s(j﹣1):s(j﹣1)=tt=a(j):a(j)=a(j﹣1):a(j﹣1)=tEnd IfNext j②End sub‘command1_click过程用于查询学生的总分成绩及排名Private sub command_click (  )Dim,bank as integer‘bank为排名Dim index as Boolean‘index为查询凭证Dim hm as string’hm为身份证号码hm=text1.textindex=falseFor i=1to 500If hm=a(i) then index=true:bank=i:exit for‘代码exit for的作用为退出for循环Next iIf index=true thenText2.text=str(s(bank))Text3.text=str(bank)ElseMsgbox (“无此身份号码”)End if。 参考答案一.选择题(共30小题)1.B; 2.A; 3.B; 4.D; 5.C; 6.A; 7.D; 8.A; 9.B; 10.C; 11.B; 12.B; 13.B; 14.B; 15.D; 16.D; 17.B; 18.A; 19.B; 20.C; 21.B; 22.D; 23.D; 24.C; 25.B; 26.A; 27.A; 28.D; 29.C; 30.D;二.操作题(共4小题)31.(1)j=0;(2)a(j+1)=t。32.对分查找;x=Val(Text1.Text);m=(i+j)\2;i=m+1;cre(m); 33.C; 34.s(j)>s(j﹣1);next i;顺序查找;声明:试题解析著作权属菁优网所有,未经书面同意,不得复制发布日期:2022/11/19 16:38:58;用户:谢建宏;邮箱:18972667385;学号:26210616

    免费资料下载额度不足,请先充值

    每充值一元即可获得5份免费资料下载额度

    今日免费资料下载份数已用完,请明天再来。

    充值学贝或者加入云校通,全网资料任意下。

    提示

    您所在的“深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载 10 份资料 (今日还可下载 0 份),请取消部分资料后重试或选择从个人账户扣费下载。

    您所在的“深深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载10份资料,您的当日额度已用完,请明天再来,或选择从个人账户扣费下载。

    您所在的“深圳市第一中学”云校通余额已不足,请提醒校管理员续费或选择从个人账户扣费下载。

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:资料
    资料售价:学贝 账户剩余:学贝
    选择教习网的4大理由
    • 更专业
      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿
    • 更丰富
      涵盖课件/教案/试卷/素材等各种教学资源;900万+优选资源 ⽇更新5000+
    • 更便捷
      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤
    • 真低价
      超⾼性价⽐, 让优质资源普惠更多师⽣
    VIP权益介绍
    • 充值学贝下载 本单免费 90%的用户选择
    • 扫码直接下载
    元开通VIP,立享充值加送10%学贝及全站85折下载
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      充值到账1学贝=0.1元
      0学贝
      本次充值学贝
      0学贝
      VIP充值赠送
      0学贝
      下载消耗
      0学贝
      资料原价
      100学贝
      VIP下载优惠
      0学贝
      0学贝
      下载后剩余学贝永久有效
      0学贝
      • 微信
      • 支付宝
      支付:¥
      元开通VIP,立享充值加送10%学贝及全站85折下载
      您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      扫码支付0直接下载
      • 微信
      • 支付宝
      微信扫码支付
      充值学贝下载,立省60% 充值学贝下载,本次下载免费
        下载成功

        Ctrl + Shift + J 查看文件保存位置

        若下载不成功,可重新下载,或查看 资料下载帮助

        本资源来自成套资源

        更多精品资料

        正在打包资料,请稍候…

        预计需要约10秒钟,请勿关闭页面

        服务器繁忙,打包失败

        请联系右侧的在线客服解决

        单次下载文件已超2GB,请分批下载

        请单份下载或分批下载

        支付后60天内可免费重复下载

        我知道了
        正在提交订单

        欢迎来到教习网

        • 900万优选资源,让备课更轻松
        • 600万优选试题,支持自由组卷
        • 高质量可编辑,日均更新2000+
        • 百万教师选择,专业更值得信赖
        微信扫码注册
        qrcode
        二维码已过期
        刷新

        微信扫码,快速注册

        还可免费领教师专享福利「樊登读书VIP」

        手机号注册
        手机号码

        手机号格式错误

        手机验证码 获取验证码

        手机验证码已经成功发送,5分钟内有效

        设置密码

        6-20个字符,数字、字母或符号

        注册即视为同意教习网「注册协议」「隐私条款」
        QQ注册
        手机号注册
        微信注册

        注册成功

        下载确认

        下载需要:0 张下载券

        账户可用:0 张下载券

        立即下载
        账户可用下载券不足,请取消部分资料或者使用学贝继续下载 学贝支付

        如何免费获得下载券?

        加入教习网教师福利群,群内会不定期免费赠送下载券及各种教学资源, 立即入群

        返回
        顶部
        Baidu
        map