算法设计与分析(期末试卷)

目录

一、频度计算(15 分)

二、项目工期问题(20 分)

三、TSP 问题的贪心算法(15 分)

四、“秤心如意”(15 分)

五、工作指派问题(20 分)

六、计算复杂度理论(15 分)


一、频度计算(15 分)

现有某小学 n 名小学生的身高数据(无序),校长想知道身高为 x 的学生有多少名,采用线性搜索时间复杂度为 O (n),请你设计一个分治算法完成统计,并分析算法的时间复杂度,与线性搜索算法作比较。

  1. 对问题进行简单分析,给出算法设计的基本思想和步骤;(6 分)
  2. 给出算法的伪代码描述;(6 分)
  3. 对算法进行时间复杂度分析并与线性搜索算法进行比较。(3 分)

二、项目工期问题(20 分)

假设一个项目由 n 个子项目构成,已知每个子项目之间的依赖关系(前驱后继关系构成一个有向无回路图),每个子项目的完成时间 ti。请设计算法计算项目的工期并输出。

  1. 对问题进行简单分析,给出算法设计的基本思想和步骤;(8 分)
  2. 给出算法的伪代码描述;(9 分)
  3. 对算法进行时间复杂度分析。(3 分)

三、TSP 问题的贪心算法(15 分)

已知 n 个顶点的完全有向图 G=(V,E),两点之间的边上权值为 wij,假设从 1 顶点出发,巡回走完剩余顶点再回到出发的 1 顶点,且每个顶点只经过一次,求最短的巡回路线长度。要求:

  1. 对问题进行简单分析,给出贪心策略;分析你的贪心算法能否找到问题的最优解;(5 分)
  2. 给出算法的伪代码描述;(8 分)
  3. 对算法进行时间复杂度分析。(2 分)

四、“秤心如意”(15 分)

小张应邀参加某频道的 “秤心如意” 节目环节,该环节要求嘉宾在有限的时间内从 n 款商品中选择若干,放在秤的一端,自己坐在秤的另一端,如果秤能保持平衡 (两边重量相等),即为成功,嘉宾可以拿走所有的商品。

小张为了能赢得比赛,提前估计了每种商品的重量 wi,当然也自知自己的体重 W,请为小张设计算法,判断是否有保持平衡的一种商品选择的方案,如果有请给出。

  1. 对问题进行分析建模,分析并给出回溯算法的关键步骤;(9 分)
  2. 并给出算法描述,分析时间复杂度;(6 分)

五、工作指派问题(20 分)

设有 n 件工作,n 个人,每个人只能做一件工作,每件工作只能安排给一个人,已知每个人做每件工作的耗费,请设计分支限界算法求解最少耗费的工作指派。

  1. 对问题进行分析;(9 分)
  2. 给出分支限界算法的伪代码描述;(8 分)
  3. 分析以上算法的时间复杂度。(3 分)

六、计算复杂度理论(15 分)

  1. 说说你对 P 类问题、NP 类问题及 P 和 NP 是否相等这个难题的理解。(8 分)
  2. 现实生活中是否存在 NP 难题,如果存在,尝试举出几个例子,并说明在现实生活中是如何解决 NP 难题的。(7 分)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古月฿

感谢您的支持,是创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值