MOOC 数据结构与算法(新疆大学)1450303486 最新慕课完整章节测试答案
一、概述
算法优劣
1、判断题:
算法的优劣与描述算法的语言无关,但与所用计算机的性能有关
选项:
A: 正确
B: 错误
答案: 【 错误】
算法问题
1、单选题:
在发生非法操作时,算法能够做出适当处理的特性称为
选项:
A: 正确性
B: 健壮性
C: 可读性
D: 可移植性
答案: 【 健壮性】
三、基本结构上
第三周测验
1、单选题:
假设你执行了下列的栈操作:s = Stack()
s.push(1)
s.push(3)
s.pop()
s.push(5)
s.push(7)现在栈内还有哪些元素?
选项:
A: 1, 5, 7
B: 3, 5, 7
C: 1, 3, 7
D: 1, 3, 5
答案: 【 1, 5, 7】
2、单选题:
将以下中缀表达式:( 5 - 3 ) * ( 2 + 4 )转换为后缀表达式,结果为?
选项:
A: 5 3 - 2 4 + *
B: 5 3 2 4 + * -
C: 5 3 2 * - 4 +
D: 5 3 2 * 4 + -
答案: 【 5 3 - 2 4 + *】
3、单选题:
给定后缀表达式3 6 + 5 2 - /求值结果为?
选项:
A: 3
B: 4
C: 6
D: 10
答案: 【 3】
4、单选题:
使用括号匹配算法判断以下表达式:([()[]{]}<>)结果是否匹配?匹配过程中栈内元素最多有多少个?
选项:
A: 否,3
B: 是,3
C: 是,4
D: 否,4
答案: 【 否,3】
5、单选题:
判断以下函数的功能def func(str1):
s = Stack()
for char in str1:
s.push(char)
str2 = ''
while not s.isEmpty():
str2 += s.pop()
return str2
选项:
A: 将给定的字符串反转输出
B: 判断给定字符串长度
C: 将给定字符串复制并输出
D: 包含错误,无法运行
答案: 【 将给定的字符串反转输出】
6、多选题:
以下哪些关于栈的说法是正确的?
选项:
A: 栈的pop操作时间复杂度是O(n)
B: 栈的pop操作时间复杂度是O(1)
C: 栈的特性是先进先出(FIFO)
D: 栈的特性是后进先出(LIFO)
E: 括号匹配算法需要栈结构的参与
F: 在Python中栈结构可以由list来实现
答案: 【 栈的特性是后进先出(LIFO);
括号匹配算法需要栈结构的参与;
在Python中栈结构可以由list来实现】
7、多选题:
以下未完成的函数可实现不同的功能def func(lst1):
s1, s2 = Stack(), Stack()
for item in lst1:
s1.push(item)
lst2 = []
while not s1.isEmpty():
### 在此进行代码填空 ###
return lst2
# 测试
print(func([1, 3, 5, 7, 9]))在下列选项中,填空内容与分别对列表[1, 3, 5, 7, 9]调用结果相对应的选项有?
选项:
A: lst2.append(s1.pop())[9,