中国矿业大学2021年12月算法导论课程试卷回忆版

中国矿业大学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分)

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可以使用turtle库的penup()和pendown()方法来控制画笔的移动和停止,还可以使用goto()方法来移动画笔到指定的位置。以下是使用turtle库画出“中国矿业大学”的示例代码: ```python import turtle # 设置画笔 turtle.penup() turtle.goto(-200, 0) turtle.pendown() turtle.pensize(10) # 画“中” turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(100) turtle.left(90) turtle.forward(200) # 画“国” turtle.penup() turtle.goto(-50, 0) turtle.pendown() turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) # 画“矿” turtle.penup() turtle.goto(100, 100) turtle.pendown() turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(50) turtle.right(90) turtle.forward(100) # 画“业” turtle.penup() turtle.goto(100, -100) turtle.pendown() turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) # 画“大” turtle.penup() turtle.goto(250, 0) turtle.pendown() turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(200) turtle.right(90) turtle.forward(100) # 画“学” turtle.penup() turtle.goto(400, 0) turtle.pendown() turtle.left(90) turtle.forward(200) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) turtle.right(90) turtle.forward(100) ``` 执行上述代码后,就可以在turtle窗口中看到绘制出来的“中国矿业大学”字样了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值