1单选(2分)
下列哪个算法使用到了分治策略?
A. 博物馆大盗问题
B. 二分查找
C. 迷宫寻路
D. 单词最短编辑距离
正确答案:B
2单选(2分)
函数值缓存最适合使用哪种Python中的数据类型?
A. 列表
B. 集合
C. 栈
D. 字典
正确答案:D
3单选(2分)
已知数列G(x)满足:
G(1)=G(2)=G(3)=1
G(x)=G(x-1)+G(x-2)+G(x-3) (x≥4)
根据递推式写出求数列值的递归算法,问原始算法与采用函数值缓存的算法时间复杂度分别为多少?
A. O(2^n); O(n)
B. O(3^n); O(n)
C. O(2^n); O(1)
D. O(n^3); O(n^2)
正确答案:B
4单选(2分)
博物馆大盗问题中,若共有10件宝物,背包总重为20单位,使用动态规划算法求解时需要建立多大的数组?
A. 12x21
B. 12x22
C. 11x21
D. 10x20
正确答案:C
5单选(2分)
以下哪个说法是正确的?
A. 贪心法适用于局部最优等同于总体最优的问题求解
B. 相比于函数值缓存,动态规划的优势在于不需要额外的存储空间
C. “字符串匹配”问题中不能应用动态规划思想
D. “单词最短编辑距离”问题可使用贪心法解决
正确答案:A
6多选(3分)
以下是使用递归算法对N皇后问题求解的不完整代码: