算法设计与分析总复习

算法设计与分析总复习

ID:1337332

大小:85.50 KB

页数:5页

时间:2017-11-10

算法设计与分析总复习_第1页
算法设计与分析总复习_第2页
算法设计与分析总复习_第3页
算法设计与分析总复习_第4页
算法设计与分析总复习_第5页
资源描述:

《算法设计与分析总复习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、算法设计与分析1、什么是算法?算法有哪些基本特征?请指出算法同程序的相同点与不同点。答:算法是解决问题的方法或过程,是满足以下四个性质的指令序列1)输入:有个以上的输入2)输出:至少有1个输出3)确定性:指令清晰、无歧义4)有限性:指令执行次数有限,时间有限算法和程序的相同点:两者都具有输入、输出和确定性的特征不同点:程序是算法用某种程序语言的具体实现,程序不满足算法具有的有限性性质2、请描述算法设计的一般过程。答:算法设计的一般过程是1)提出问题2)确定数学模型3)明确目的、条件和约束关系4)设计求解步骤5)结果评估与分析如果在第5步的分析中对算法时间

2、、空间复杂度或结果不满意,可以返回第1步或第4步进一步迭代,直至找到满意的算法。3、什么是算法复杂性?它主要有哪两个方面构成?答:算法复杂性是算法运行时所需要的计算机资源的量,它包括两个方面:时间复杂性(需要时间资源的量)和空间复杂性(需要空间资源的量)。4、时间复杂性分析主要分哪三种情况,哪种情况的可操作性最好,最具有实际价值?答:时间复杂性分为3种情况,最好情况、平均情况、最坏情况,可操作性最好,最具有实际价值的是最坏情况下的时间复杂性第5页共5页1、如果算法A由三个步骤组成,其中第一步的时间复杂性为O(n2),第二步的时间复杂性为O(nlogn),

3、第三步的时间复杂性为O(n),请问算法A的时间复杂性是多少?答:O(n2)2、请问二分搜索算法、快速排序算法、线性时间选择算法和最近点对问题的时间复杂性各为多少?答:二分搜索算法:最坏情况O(logn)、快速排序算法:最坏情况O(n2),最好情况和平均情况均为O(nlogn)线性时间选择算法:最坏情况O(n)最近点对问题:时间复杂性O(nlogn)3、分治算法和动态规划算法都是通过对问题进行分解,通过对子问题的求解然后进行解重构,从而实现对原问题的求解。请指出这两种算法在对问题进行分解时各自所遵循的原则。答:分治算法对问题进行分解时所遵循的原则是将待求解

4、问题分解为若干个规模较小、相互独立且与原问题相同的子问题(不包含公共的子问题)。动态规划对问题进行分解时所遵循的原则是将待求解问题分解为若干个规模较小、相互关联的与原问题类似的子问题(包含公共的子问题),采用记录表的方法来保存所有已解决问题的答案,而在需要的时候再找出已求得的答案,避免大量的重复计算。4、动态规划算法的本质是什么,请简要阐述。答:动态规划的实质是分治思想和解决冗余,动态规划算法是将问题分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题,以解决最优化问题的算法策略。5、如果一个问题可以利用动态规划算法求解,那么该问题应满足什

5、么条件?答:该问题具有最优子结构性质(一个问题的最优解包含其子问题的最优解)和子问题重叠性质(每次递归产生的子问题不总是新问题,有些子问题被反复计算多次)10、动态规划算法的基本思想是什么?请简述动态规划算法主要设计步骤。答:动态规划算法的基本思想是将待求解问题分解成若干个相互关联的与原问题类似的子问题,求解这些子问题,并保存子问题的答案,避免重复计算,然后从这些子问题的解得到原问题的解。动态规划算法主要设计步骤:1)找出最优解的性质,并刻画其结构特征;2)递归地定义最优值;3)以自底向上的方式计算出最优值;4)根据计算最优值时得到的信息,构造最优解;第

6、5页共5页11、什么是备忘录方法?它同动态规划法相比主要不同点是什么?请指出动态规划法和备忘录方法各自的适用范围。(注:平常说的“动态规划”是自底向上的动态规划,“备忘录方法”是自顶向下的动态规划。)答:备忘录方法是动态规划算法的变形,它通过分治思想对原问题进行分解,以存储子问题的解的方式解决冗余计算,并采用自顶向下的递归方式获取问题的最终解。与动态规划算法的不同之处是动态规划算法的递归方式是自底向上递归求解,而备忘录方法的递归方式是自顶向下递归求解。当一个问题的所有子问题都至少要解一次时,使用动态规划算法。当子问题空间中的部分子问题不需要求解时,使用备

7、忘录方法。12、贪心算法的设计思想是什么,有什么特点?如果一个问题用贪心算法可以获得全局最优解,那么该问题的求解应满足哪些条件?答:贪心算法的设计思想是在对问题求解时,总是做出在当前看来是最好的选择。它的特点是1)不是从整体考虑——得到的解可能不是全局最优2)简单,直接,易理解,效率高。如使用贪心算法求解问题获得全局最优解,则问题应满足1)贪心选择性质(与动态规划的主要区别)所求问题的整体最优解可以通过一系列局部最优的选择(即贪心选择)来达到2)最优子结构性质(动态规划算法和贪心算法的共同点)一个问题的最优解包含其子问题的最优解时。13、请简要描述回溯法

8、的实现过程。用回溯法求解0/1背包问题、TSP问题、N皇后问题和连续邮资问题时,

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

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

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