内容正文:
第3章 字符串、队列和栈-综合与评价(分层作业)
【夯实基础】
1.队列Q从队首到队尾的元素依次为3,1,2,栈S初始为空。约定以下操作:H操作是指元素出队后再入队,T操作是指元素出队后入栈,P操作是指元素出栈。经过一系列操作后,最终出栈顺序为1,2,3,以下操作不可能的是( )
A.TTPTPP B.HTTTPPP C.THTTPPP D.HTPTPTP
2. 已知一个序列的出栈顺序为ACEGI, 则该序列的入栈顺序可能是( )
A.CEAGI B.AGEIC C.EICAG D.IGCAE
3. 字符串“Hello, world!”的长度是多少?( )
A. 11
B. 12
C. 13
D. 14
4. 栈的特点是?( )
A. 先进后出
B. 后进先出
C. 随机存取
D. 只能在一端插入或删除
5. 在Python中,如何创建一个空队列?( )
A. queue = []
B. queue = {}
C. from queue import Queue; q = Queue()
D. queue = ()
6. 字符串“Python”的第一个字符如何获取?( )
A. "Python"[0]
B. "Python"[1]
C. "Python"[-1]
D. "Python"[-6]
7. 队列的入队操作相当于?( )
A. 在队列末尾添加元素
B. 在队列开头移除元素
C. 在队列中间插入元素
D. 在队列任意位置插入元素
8. 栈的出栈操作相当于?( )
A. 在栈顶移除元素
B. 在栈底移除元素
C. 在栈中随机位置移除元素
D. 在栈中指定位置移除元素
【巩固提升】
9. 下列哪一项不是队列的特性?( )
A. 元素有序
B. 允许在一端添加,在另一端移除
C. 支持随机访问
D. 可以作为缓冲区使用
10. 字符串“hello”和“world”连接起来的方法是?( )
A. "hello"+"world"
B. "hello"."world"
C. "hello"-"world"
D. "hello"&"world"
11. 如何在Python中检查字符串是否包含子字符串“world”?( )
A. "hello world".find("world") != -1
B. "hello world".count("world") > 0
C. "world" in "hello world"
D. all of the above
12. 栈和队列都是?( )
A. 线性结构
B. 非线性结构
C. 树形结构
D. 图形结构
13. 栈和队列的共同特点是?( )
A. 都是线性表
B. 都只允许在表的一端进行插入或删除
C. 操作受限的线性表
D. 允许在两端进行插入和删除
【拓展应用】
14. 下列哪个操作可以实现字符串的大小写转换?( )
A. str.lower()
B. str.upper()
C. str.capitalize()
D. 以上均可
15. 栈和队列的顺序存储结构通常使用哪种数据结构?( )
A. 链表
B. 数组
C. 树
D. 图
参考答案:
【夯实基础】
1.B 解析:本题考查数据结构栈和队列操作相关内容。栈的特点是先进后出,队列的特点是先进先出。结合题目,推知:
A选项,操作序列为TTPTPP,T->3出队后入栈,栈中元素为3; T->出队后入栈,栈中元素为1,3; P->1出栈,栈中元素为3,出栈顺序为1; T->2出队后入栈,栈中元素为2,3; P->2出栈,栈中元素为3,出栈顺序为1,2; P->3出栈,栈为空,出栈顺序为1,2,3
B洗项,操作序列为HTTTPPP,H-->3出队后入队,队列元素为1,2,3;T->1出队后入栈,栈中元素为1;T->2出队后入栈,栈中元素为2,1; T->3出队后入栈,栈中元素为3,2,1; 执行PPP,连续三次出栈,栈为空,出栈顺序为3,2,1。
C选项,操作序列为THTTPPP,T->3出队后入栈,栈中元素为3;H->1出队后入队,队列元素为2,1; T->2出队后入栈,栈中元素为2,3; T->1出队后入栈,栈中元素为1,2,3;执行PPP,