内容正文:
……………………………密……………………………………封………………………………线……………………………
学校 班级 姓名 考号 考场 座位号
×××××××××××××××××××××××××××××密 封 线 内 禁 止 答 题×××××××××××××××××××××
云南省昭通市巧家县第一中学高二年级信息技术下册
期中检测
(全卷满分:100分 考试时间:90分钟)
考试说明
1.请考生在考试开始前仔细阅读试卷,确保理解考试要求。
2.请合理分配时间,确保完成所有题目,请用黑色签字笔在答题卡上作答,确保字迹清晰。
3.考试期间请保持安静,不得交头接耳或使用电子设备。
4.请在规定区域内作答,超出答题区域的答案将不被计分。
5.考试结束后,请将试卷和答题卡一起交回。
一、选择题(本大题共25小题,每小题2分,共50分。在每小题给出的四个选项中,只有一项是最符合题目要求的。)
1.下列关于数据的说法,正确的是( )
A.数据就是数字B.数据只能是文字C.数据是对客观事物的符号表示D.数据不能被计算机处理
2.二进制数(1101)₂转换为十进制数是( )
A.11 B.12 C.13 D.14
3.在Python中,下列变量命名合法的是( )
A.3var B.my_name C.for D.a-b
4.算法具有五个重要特征,不包括( )
A.有穷性B.确定性C.美观性D.输入与输出
5.用流程图描述算法时,菱形框表示的是( )
A.开始或结束B.输入或输出C.判断或选择D.处理或计算
6.下列不属于线性数据结构的是( )
A.数组B.链表C.栈D.树
7.在数组a中,第i个元素的物理地址计算方法为:Loc(a[i]) = Loc(a[0]) + i × k,其中k代表( )
A.元素个数B.数组长度C.每个元素所占存储单元数D.起始地址
8.链表与数组相比,其优势在于( )
A.存储密度高B.可以随机存取C.插入和删除操作方便D.不需要额外存储空间
9.栈的特点是( )
A.先进先出B.先进后出C.随机进出D.只能进不能出
10.下列应用中,使用队列结构最合适的是( )
A.函数递归调用B.表达式求值C.银行排队叫号D.撤销操作
11.树结构中,结点的度是指( )
A.结点拥有的子树数目B.结点所在的层次C.树的深度D.结点的值
12.具有n个结点的完全二叉树的深度为( )
A.nB.log₂n(向下取整)C.log₂n + 1(向下取整)D.2ⁿ
13.对关键字序列(25,18,46,9,37,53)进行冒泡排序,第一趟排序后得到的结果是( )
A. 18,25,9,37,46,53 B. 9,25,18,46,37,53
C. 25,18,46,9,37,53 D. 18,9,25,37,46,53
14.二分查找算法要求查找表是( )
A.无序表B.有序表C.链表D.树
15.在Python中,列表`a = [1, 2, 3, 4, 5]`,执行`a.pop()`后,列表a变为( )
A.[1, 2, 3, 4] B.[2, 3, 4, 5] C.[1, 2, 3, 4, 5] D.[5, 4, 3, 2, 1]
16.图的遍历方法通常有两种,分别是( )
A.深度优先遍历和广度优先遍历B.先序遍历和后序遍历
C.顺序遍历和逆序遍历D.递归遍历和非递归遍历
17.下列排序算法中,时间复杂度最优情况下为O(nlogn)且稳定的是( )
A.冒泡排序B.插入排序C.归并排序D.快速排序
18.下列关于栈的叙述,正确的是( )
A.栈底元素最后出栈B.栈顶元素最先出栈C.栈只能顺序存储D.入栈和出栈操作都在栈底进行
19.表达式a*(b+c)-d的后缀表达式为( )
A.abc+*d- B.ab+c*d- C.abc*+d- D.ab+c-d*
20.有如下程序段,其运行结果为( )
代码
s=0
for i in range(1, 11, 2):
s=s+i
print(s)
A.25B.30C.55D.50
21.长度为n的线性表采用顺序存储结构,在其第i个位置插入一个元素需要移动的元素个数为( )
A.iB.n-iC.n-i+1D.i+1
22.二叉树的后序遍历顺序是( )
A.根结点→左子树→右子树B.左子树→根结点→右子树
C.左子树→右子树→根结点D.右子树→左子树→根结点
23.已知完全二叉树的第4层(根结点为第1层)有8个叶结点,则该完全二叉树的结点总数最多为( )
A.15 B.23 C.31 D.无法确定
24.下列代码实现的功能是( )
代码
def f(n):
if n <= 1:
return 1
else:
return n * f(n-1)
A.求和B.求n的阶乘C.求最大值D.求平方
25.算法的时间复杂度是指( )
A.算法执行过程中实际运行的时间B.算法中基本运算的次数随问题规模增长的变化趋势C.算法程序的长度D.算法占用的存储空间大小
二、填空题(本大题共5小题,每小题2分,共10分。)
26.栈的插入操作通常被称为 ,删除操作被称为 。
27.深度为k的完全二叉树,最少有 个结点,最多有 个结点。
28.在Python中,创建空列表可以用`[ ]`,创建空字典可以用 。
29.图结构由 和 两部分组成。
30.常见的数据结构存储方式有 存储和 存储两大类。
三、程序分析题(本大题共2小题,共20分。)
31.(12分)阅读下列Python程序,回答问题。
1. stack = []
stack.append('A')
stack.append('B')
stack.append('C')
print(stack.pop(), end='')
print(stack.pop(), end='')
stack.append('D')
print(stack.pop(), end='')
print(stack.pop(), end='')
2. (1)程序输出的结果是什么?(4分)
3. (2)`stack.pop()`的作用是什么?(2分)
4. (3)若上述程序执行后,栈内还有元素吗?为什么?(6分)
32.(8分)以下程序用于统计字符串中数字字符的个数,请补全代码。
5. s = input("请输入一个字符串:")
count =
for ch in s:
if '0' <= ch <= '9':
count = count + 1
print( )
6. (1)第一处空格应填 。(4分)
7. (2)最后一处空格应填 。(4分)
四、综合题(本大题共2小题,共20分。)
33.(10分)用表格描述二叉树的先序、中序和后序遍历的结果。
8. 已知一棵二叉树的结构如下(用表格表示结点关系):
结点
左孩子
右孩子
A
B
C
B
D
E
C
F
无
D
无
无
E
无
无
F
无
无
9. (1)先序遍历序列: (3分)
10. (2)中序遍历序列: (3分)
11. (3)后序遍历序列: (4分)
34.(10分)某班级学习小组准备编写一个简单的“图书借阅管理系统”,利用学过的数据结构知识进行设计。请回答下列问题:
12. (1)为存放待借阅的图书信息(需要按照借阅先后顺序处理),应选择哪种数据结构?请说明理由。(5分)
13. 答:
14. (2)若需要实现一个功能,能够记录读者最近一次的操作,以便“撤销”上次操作,应选择哪种数据结构?请说明理由。(5分)
15. 答:
16. —— 本试卷到此结束,请认真检查 ——
参考答案
一、选择题(每题2分,共50分)
1.
C
2.
C
3.
B
4.
C
5.
C
6.
D
7.
C
8.
C
9.
B
10.
C
11.
A
12.
C
13.
A
14.
B
15.
A
16.
A
17.
C
18.
B
19.
A
20.
A
21.
C
22.
C
23.
C
24.
B
25.
B
二、填空题(每空1分,共10分)
26. 入栈(或进栈、压栈) 出栈(或弹栈)
27. 2^(k-1) 2^k - 1
28. dict() 或 {}
29. 顶点(或结点) 边(或弧)
30. 顺序 链式
三、程序分析题(20分)
31.(1)CBDA(4分)
(2)移除并返回栈顶元素(2分)
(3)没有元素。因为最后一条 pop 语句执行后,栈中所有元素均被弹出。(6分)
32.(1)0(4分)
(2)count(4分)
四、综合题(20分)
33.(1)A B D E C F(3分)
(2)D B E A F C(3分)
(3)D E B F C A(4分)
34.(1)队列。因为借阅顺序是“先借先得”,队列的先进先出特点正好符合这一处理规则。(5分)
(2)栈。撤销操作需要回到上一次的状态,即后进先出,栈结构天然支持这种操作。(5分)
第3页,共4页
第4页,共4页
第1页,共4页
第2页,共4页
学科网(北京)股份有限公司
$