中国矿业大学2021年12月算法导论课程试卷回忆版
共7个大题
一、计算时间复杂度
已知大整数乘法时,将一个问题划分为三个n/2的子问题和O(n)的计算次数,求:
(1)写出时间复杂度表达式;(5分)
(2)计算时间复杂度上界。(5分)
二、一个名单已经将学号按序排列,插入一个学号x,求出小于x的最大学号和大于x的最小学号。
(1)试设计一种算法,以较高的效率完成这一任务。(10分)
(2)试分析时间复杂度。(5分)
三、一个商店一年12个月的收入分别为:(-1,12,3,-4,11,-4,-11,4,4,…),求:
(1)连续哪几个月的收入的和最大?写出计算过程。(5分)
(2)分析最坏情况下的时间复杂度。(5分)
四、合并弹珠问题。有5堆弹珠,11,3,6,8,5,求:
(1)如果每次只能合并相邻堆的弹珠,最小得分是多少?(10分)
(2)如果可以按任意顺序合并,最小得分是多少?(5分)
五、活动安排问题,求:
(1)写出算法策略;(5分)
(2)最多能够安排一个活动?(5分)
(3)安排的活动分别是?(5分)
六、使用回溯法解决01背包问题。有5道题目,回答一道题目需要耗费相应的时间,同时能够获得相应的分数,共有5小时答题时间,5道题目的耗时和得分分别是 (0.5,2.5),(1,3.5),(2.5,3.5),(5,6),(4,19),求:
(1)应当用何种树描述解空间?(5分)
(2)画出求解的树的动态过程?(10分)
七、使用优先队列的分支限界法解决最大团问题,如图:
(1)应当用何种树描述解空间?(5分)
(2)写出剪枝函数。(5分)
(3)画出求解的树的动态过程?(10分)