算法简答题复习进程.doc

算法简答题复习进程.doc

ID:60797197

大小:81.50 KB

页数:4页

时间:2020-12-19

算法简答题复习进程.doc_第1页
算法简答题复习进程.doc_第2页
算法简答题复习进程.doc_第3页
算法简答题复习进程.doc_第4页
资源描述:

《算法简答题复习进程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、精品好文档,推荐学习交流1.在对算法进行复杂性分析时,时间复杂度用什么来度量?其间做了什么假定?渐进复杂性指的是什么?精确到什么程度?强调渐进复杂性的意义是什么?答:程序中关键步骤的操作计数。假定每种基本操作所用时间都是一个单位。设T(n)是算法A的复杂性函数。,则。一般说来,算法的渐进复杂性是该算法复杂度函数的主项,且一般只考虑渐进复杂性的阶。算法的渐进复杂性是该算法复杂度函数的主项,且一般只考虑渐进复杂性的阶。意义:简化算法复杂性分析的方法和步骤。以方便于对各类算法进行分析和比较。2.陈述算法在最坏情况下的时间

2、复杂度和平均时间复杂度;这两种评估算法复杂性的方法各自有什么实际意义?答:最坏情况下的时间复杂度称最坏时间复杂度。一般不特别说明,讨论的时间复杂度均是最坏情况下的时间复杂度。意义:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,这就保证了算法的运行时间不会比任何更长。平均时间复杂度是指所有可能的输入实例均以等概率出现的情况下,算法的期望运行时间。意义:在输入不同的情况下算法的运行时间复杂度可能会发生变化。平均时间复杂度给出了算法的期望运行时间,有助于算法好坏的评价以及在不同算法之间比较时有一个统一标准。

3、3.归并排序算法和快速排序算法各自强调了那个方面?各自提高效率的策略是什么?答:归并排序在简单插入排序的基础上强调了通过归并减少元素的挪动次数,从而降低运行时间。策略是通过递归和归并减少了元素的挪动这样一个耗时操作的次数。快速排序相比与归并排序强调了通过划分操作来避免“归并”这样的耗时步骤。策略是使用分治法,通过递归划分操作不断将序列划分成两个子序列,其中第一个子序列中的元素都比第二个小(或大)。4.在连通图无向图的宽度优先搜索树和深度优先搜索树中,哪棵树的最长路径可能会更长些?试说明你的理由。答:深度。因为深度优

4、先搜索是沿着顶点的邻点一直搜索下去,直到当前被搜索的顶点不再有未被访问的邻点为止,且在此过程中记录的边构成了搜索树。而宽度优先搜索算法访问图中由一顶点可能到达的所有顶点。因此深度搜索树的最长路径里一定包含图中的最长路,仅供学习与交流,如有侵权请联系网站删除谢谢4精品好文档,推荐学习交流而宽度搜索则不一定包括。因此,在每个顶点邻点均较少的图上两者得到的树最长路径可能差不多,但是在每个顶点邻点较多的图上深度搜索可以产生最长路径更长的搜索树。5.何谓最优化原理?采用动态规划算法必须满足的条件是什么?动态规划算法是通过什么

5、问题的什么特性提高效率的?比较贪心算法与动态规划算法的异同,它们都有那些优势和劣势?答:一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。最优子结构性质,子问题重叠性质是计算模型采用动态规划算法求解的两个基本要素。动态规划算法利用子问题重叠性质,对每一个子问题只计算一次,将其解保存在一个表格中。不同的子问题个数随着输入问题的规模呈多项式增长,因此,动态规划算法通常只需要多项式时间,从而获得较高的解题效率。共通点:动态规划和贪心算法都是一种递推算法,均有局部最优解来推导全局最优解区别:

6、贪心算法中,作出的每步贪心决策都无法改变,每一步的最优解一定包含上一步的最优解,而上一部之前的最优解则不作保留。动态优化算法,全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解。动态规划算法利用子问题重叠性质,对每一个子问题只计算一次,将其解保存在一个表格中。不同的子问题个数随着输入问题的规模呈多项式增长,因此,动态规划算法通常只需要多项式时间,从而获得较高的解题效率。但它需要计算之前所有情况花费,更加耗费空间。贪心算法所作的选择依赖于以往所作过的选择,但决不依赖于将来的

7、选择,这使得算法在编码和执行过程中都有一定的速度优势。贪心算法是只是找局部最优解,不一定是全局最优解。6.阐述回溯算法与分枝限界算法的区别和联系,各自强调改善那方面以提高效率,各适合那些问题?仅供学习与交流,如有侵权请联系网站删除谢谢4精品好文档,推荐学习交流7.确定性图灵机模型与非确定性图灵机模型的主要区别在那里?确定性图灵机模型下算法的时间复杂度和空间复杂度指的是什么?答:二者的区别就在于,确定性图灵机在任一状态下只能做一种运算,而非确定性图灵机可以被想象为在同一时刻能够独立、并行地完成多种运算(表现在转移函数

8、的多值性)。时间复杂性是从开机直至进入停机状态所运行的步数。空间复杂度是从开机直至进入停机状态所需要的线性带的总格子数。8.什么是多项式时间算法?多项式时间确定性算法与多项式时间非确定性算法的主要区别是什么?答:若存在一个常数C,使得对于所有n>=0,都有

9、f(n)

10、<=C*

11、g(n)

12、,则称函数f(n)是O(g(n))。时间复杂度是O(p(n))的算法称为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。