内容正文:
教科版(2019)必修一3.2数据与结构同步练习
一、单选题
1. 使用列表d模拟链表结构,每个节点包含数据区域(数据均为整型,范围为0~9)和指针区域,h为头指针。若d=[[1,2],[4,4],[3,3],[2,1],[5,-1]],h=0,遍历该链表得到的数据为( )
A.1、2、3、4、5 B.1、3、2、4、5
C.1、4、5 D.1、3、4、2、5
2. 在Python语言中,用字典hero存储《水浒传》中的人物数据:hero={"天罡星":["宋江","卢俊义","吴用"],"地煞星":["朱武","黄信","孙立"]},下列表达式值为"吴用"的是( )
A.hero[0][2] B.hero{"天罡星"}[2]
C.hero["天罡星"][3] D.hero["天罡星"][2]
3.某表达式树如下图所示,下列说法错误的是( )
A.该表达式树是一棵二叉树,树的度是2,高度是5
B.该树的叶子节点数比度为2的节点数多1个
C.若采用完全二叉树数组从0号位开始存储,则节点𝑏存储在6号位
D.该表达式树的前序遍历序列是×𝑑+/𝑓𝑐−𝑎𝑏
4.有一个环形队列,长度为10,头指针为head,尾指针为tail,则下列选项中队列元素个数与其它三项不同的是( )
A.head=1,tail=6 B.head=3,tail=8
C.head=6,tail=0 D.head=9,tail=4
5.列表a=[1,2,3,4,5,6,7,8,9,0],则a[3::-2]的结果为( )
A.[3, 1] B.[3, 5, 7, 9]
C.[4, 6, 8, 0] D.[4, 2]
6.下列关于数据结构的说法,正确的是( )
A.数组的最大元素数量在定义时就已确定,因此在操作过程中不会导致内存浪费
B.删除链表节点时,链表中必定存在某个节点的指针区域发生变化
C.浏览器采用队列结构组织网页数据从而实现“后退”按钮的功能
D.栈结构只有一端开放,数据进、出操作都只能在开放的一端进行
7.实现在链表c中找出最小值m的Python程序如下:
head=2;p=head;m=c[head][0]
while :
if c[p][0]<m:
m=c[p][0]
print(m)
上述程序段中方框处可选代码为:①p!=-1 ②c[p][1]!=-1 ③p=p+1 ④p=c[p][1]
则程序段中(1)、(2)处代码依次为( )
A.①③ B.②③ C.①④ D.②④
8.有一个空栈,若元素"X"、"i"、"a"、"o"、"s"、"h"、"i"依次入栈,其中"o"第一个出栈。则当所有元素全部出栈后,下列说法正确的是( )
A.出栈的最后一个元素一定为"X"
B.出栈的最后一个元素一定为"i"
C.元素“a”一定比"X"、"i"先出栈
D.元素"X"、"i"、"a"出栈次序不确定
9.有 1 个队列,队首到队尾的元素依次为 7,9,11,8。若队首元素是奇数则先出队,再将奇数整除2后重新入队,若队首元素是偶数,直接出队。出队或者入队都算1次操作,经过 6 次操作后,队列中队首到队尾的元素依次为( )
A.4,5 B.8,4,5 C.8,3,4 D.8,3,4,5
10.有以下 python 程序段:
a = [0]*4
for i in range(1,4):
j = 0
a[j] += 1
while a[j] == 2:
a[j] = 0
j += 1
a[j] += 1
执行该程序段后a的内容是( )
A.[1,1,0,0] B.[1,0,1,0] C.[0,1,1,0] D.[0,1,0,1]
11.有如下 python 程序段:
import random
total=10
num=[0]*total
for i in range(total):
num[i]=random.randint(1,100)
m1,m2=len(num)-1,len(num)-1
for i in range(len(num)):
if num[i]>num[m2]:
m1=m2;m2=i
elif num[i]>num[m1]:
m1=i
print(m2,m1)
假设当前num=[47, 4, 46, 75, 52, 6, 71, 81, 34, 11],则该程序段运行后的输出结果为( )
A.2 5 B.3 7 C.5 2 D.7 3
12.下列关于数据结构的说法不正确的是( )
A.数据结构是指数据的组织形式
B.二维数组属于线性数据结构
C.链表是一种优于数组的数据结构
D.队列是限定仅在一端进行插入,在另-端进行删除的线性数据结构
二、填空题
13.现有sp=[“BH60023”,“荔枝”,9.9,10],若要访问sp列表中的相关元素,则
sp[0]的返回值为: ;
sp[0:1]的返回值为: ;
sp[0:3]的返回值为: 。
14.产生一个5到10之间的随机整数并存到变量b中,b= ,从列表cla=[“2班”,“3班”,“7班”,“9班”]随机抽选一个班级,存到变量a中,a= 。
15.列表q=[1,2,3,4,5,6],删除列表数值1,下列能实现此功能的代码是 。
①del q[1] ②del q[0] ③q.pop(0)
答案解析部分
1.【答案】B
2.【答案】D
3.【答案】D
4.【答案】C
5.【答案】D
6.【答案】D
7.【答案】D
8.【答案】C
9.【答案】D
10.【答案】A
11.【答案】D
12.【答案】C
13.【答案】“BH60023”;[“BH60023”];[“BH60023”,“荔枝”,9.9]
14.【答案】b=random.randint(5,10);a=cla[random.randint(0,3) ]
15.【答案】②③
学科网(北京)股份有限公司
$$