中科院算法试题 陈玉福

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

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

                                               任课教师: 陈玉福

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

   姓名                               学号                             成绩                           

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

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

最坏情况下的时间复杂度称最坏时间复杂度。一般不特别说明,讨论的时间复杂度均是最坏情况下的时间复杂度。
这样做的原因是:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,这就保证了算法的运行时间不会比任何更长。

平均时间复杂度是指所有可能的输入实例均以等概率出现的情况下,算法的期望运行时间。

2.阐述动态规划算法与贪心算法的区别,它们都有那些优势和劣势?

动态规划算法与贪心算法都要求问题具有最优子结构性质,这是二者的一个共同点。但是对于具有最优子结构的问题应该选择前者还后者来解决?下面通过两个经典的组合优化问题谈谈动态规划算法与贪心算法的主要差异

   动态规划法与分治法和贪心法类似,它也是将原问题分解为若干个更小的、相似的子问题,并通过求解子问题产生一个全局最优解。与分治法和贪心法不同之处在于:

① 使用贪心法时,当前的选择可能要依赖于已经作出的所有选择,但不依赖于有待于做出的选择和子问题。因此贪心法是自顶向下(即从起点到终点),一步一步地作出贪心选择。当然,如果当前的选择可能要依赖于子问题的解时,则难以通过局部的贪心策略达到全局最优解。

《计算机算法设计与分析》是由玉福编写的一本计算机算法领域的教材。本书主要介绍了算法设计和分析的基本概念与方法,并用大量的例子和习题来帮助读者理解和掌握这些知识。 该教材从算法设计开始,介绍了分治、动态规划、贪心算法、回溯法、分支限界等常用的算法设计方法,并详细解释了它们的原理和应用场景。同时,还介绍了一些经典的算法问题,如最大子序列和、背包问题、旅行商问题等,并给出了相应的算法解决方案。 在算法的分析方面,本书介绍了时间复杂度和空间复杂度的概念和计算方法,同时还介绍了渐进符号、复杂度的比较、算法效率的理论分析等内容。通过学习这些知识,读者可以评估和比较不同算法的效率,并选择最合适的算法来解决具体的问题。 此外,该教材还介绍了一些高级算法设计与分析的内容,如图算法、字符串匹配、排序算法等,并给出了相应的算法实现和性能分析。这些内容对于深入理解算法设计与分析的原理和方法具有重要意义。 综上所述,《计算机算法设计与分析》是一本全面介绍计算机算法设计与分析的教材,内容详实、通俗易懂,适合作为计算机相关专业的教材或参考书使用。无论是对于初学者还是对于有一定算法基础的读者,该书都能帮助他们加深对算法设计与分析的理解,并提高算法解决问题的能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值