陈玉福计算机算法与设计答案,中科院计算机算法陈玉福历年试题..doc

中国科学院研究生院课程编号:711008Z-1

试 题 专 用 纸课程名称:计算机算法设计与分析

任课教师: 陈玉福

———————————————————————————————————————————————

姓名 学号 成绩

回答下列问题: (每小题5分)

1.陈述算法在最坏情况下的时间复杂度和平均时间复杂度;这两种评估算法复杂性的方法各自有什么实际意义?

最坏情况下的时间复杂度称最坏时间复杂度。一般不特别说明,讨论的时间复杂度均是最坏情况下的时间复杂度。这样做的原因是:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,这就保证了算法的运行时间不会比任何更长。(即从起点到终点),一步一步地作出贪心选择。当然,如果当前的选择可能要依赖于子问题的解时,则难以通过局部的贪心策略达到全局最优解。

② 使用分治法时,由原问题分解出的各子问题通常是相互独立的,即不包含公共的子问题,因此一旦递归地求出各子问题的解后,便可自下而上地将各子问题的解合并成问题的解。如果各子问题不是相互独立的,则分治法要做许多不必要的工作,重复地求解公共的子问题。

③ 动态规划允许由原问题分解出的子问题之间相互依赖。每一个子问题只求解一次,并将结果保存起来,避免每次碰到此子问题时都要重复计算

阐述回溯算法与分枝限界算法的共同点和不同点,提高算法效率的关键是什么?

在对算法进行复杂性分析时,强调渐进复杂性的意义是什么?

算法的复杂性算法的复杂性算法的复杂性算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。一个算法的复杂性的高低体现在运行该算法所需要的计算机资源的多少上面,所需的资源越多,我们就说该算法的复杂性越高;反之,所需的资源越低,则该算法的复杂性越低

简化算法复杂性分析的方法和步骤,即只要考察当问题的规模充分大时,算法复杂性在渐近意义下的阶。与此简化的复杂性分析方法相配套,

问题复杂程度和规模的线性增长导致的时耗的增长和空间需求的增长,对低效算法来说,都是超线性的,决非计算机速度和容量的线性增长带来的时耗减少和存储空间的扩大所能抵销。

(20分)试用Prim算法求解下面无向赋权图的最小生成树,指出最小生成树及该树中各边被选中的先后次序;写出算法的基本步骤。

(20分)用LC-分枝限界算法求解0/1背包问题: ,物品重量和价值分别是:

画出由算法生成的状态空间树,并标明各节点的优先级的值;

给出各节点被选作当前扩展节点的先后次序;

给出最优解。

(20分)已知一组数满足,且被搜索的对象的概

率分布是:

其中表示被搜索对象在区间内的概率,表示被搜索对象为的概率,

使用动态规划算法求该搜索问题的最优二叉搜索树。

五.(20分) 假定已知“无向图的Hamilton回路”问题是NPC问题,证明“旅行商判定问题”也是NPC问题。

共 2 页 第 2 页

2

6

3

1

5

4

7

8

20

16

11

12

7

13

13

15

14

11

10

18

8

25

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值