算法分析与设计知识点总结

算法分析与设计知识点总结

ID:27969043

大小:76.12 KB

页数:4页

时间:2018-12-07

算法分析与设计知识点总结_第1页
算法分析与设计知识点总结_第2页
算法分析与设计知识点总结_第3页
算法分析与设计知识点总结_第4页
资源描述:

《算法分析与设计知识点总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第一章概述算法的概念:算法是指解决问题的一种方法或过程,是由若干条指令组成的有穷序列。算法的特征:可终止性:算法必须在有限时间内终止;正确性:算法必须正确描述问题的求解过程;可行性:算法必须是可实施的;算法可以有0个或0个以上的输入;算法必须有1个或1个以上的输!II。算法与程序的关系:区别:程序可以不一定满足可终止性。但算法必须在有限时间内结束;程序可以没有输出,而算法则必须有输出;算法是面向问题求解的过程描述,程序则是算法的实现。联系:程序是算法用某种程序设计语言的具体实现;程序可以不满足算法的有限性性质。算法描述方式:自然语言,流程图,伪代码,高级语言。算法复杂性分析:算法复

2、杂性的高低体现运行该算法所需计算机资源(时间,空间)的多少。算法复杂性度量:期望反映算法本身性能,与环境无关。理论上不能用算法在机器上真正的运行开销作为标准(硬件性能、代码质量影响)。一般是针对问题选择基本运算和基本存储单位,用算法针对基木运算与基木存储单位的开销作为标准。算法复杂性C依赖于问题规模'、算法输入I和算法本身A。即C=F(N,I,A)。第二章递归与分治分治法的基本思想:求解问题算法的复杂性一般都与问题规模相关,问题规模越小越容易处理。分治法的基本思想是,将一个难以直接解决的大问题,分解为规模较小的相同子问题,直至这些子问题容易直接求解,并且可以利用这些子问题的解求出原

3、问题的解。各个击破,分而治分治法产生的子问题一般是原问题的较小模式,这就为使用递归技术提供了方便。递归是分治法中最常用的技术。使子问题规模大致相等的做法是出自一种平Rebalancing厅问题的思想,它几乎总是比子问题规模不等的做法要好。分治法所能解决的问题一般具有以下儿个特征:该问题的规模缩小到一定的程度就可以容易地解决;该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;利用该问题分解出的子问题的解可以合并为该问题的解;该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。(这条特征涉及到分治法的效率,如果各子问题是不独立的,则分治法要做许多

4、不必要的工作,重复地解公共的子问题,此时虽然也可用分治法,但一般用动态规划较好。)递归的概念:直接或间接地调用自身的算法称为递归算法,用函数自身给出定义的函数称为递归函数。反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小,最终使子问题缩小到很容易直接求出其解。这自然导致递归过程的产生。边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限次计算后得出结果。第三章动态规划动态规划的基本思想:动态规划算法与分治法类似,其思想把求解的问题分成许多阶段或多个子问题,然后按顺序求解各子问题。最后一个阶段或子问题的解就是初始问题的解。分治法求解吋,子问

5、题数目太多,从而导致解决原问题需要耗费指数级吋I'可。与分治法不同的是,动态规划中分解得到的子问题往往不是互相独立的。但不同子问题的数目常常只有多项式级。用分治法求解时,有些子问题被重复计算了许多次。动态规划的适用条件:动态规划法解所能解决的问题一般具有以下两个基本因素:一、最优子结构性质当问题的最优解包含着其子问题的最优解时,称该问题具有最优子结构性质。二、重叠子问题性质递归算法求解问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次。这种性质称为子问题的重叠性质。其它同分治法。动态规划问题的特征:求解的问题是组合优化问题;求解过程需要多步判断,从小到大依次求解;子问

6、题目标函数最优解之间存在依赖关系;动态规划算法设计的基本步骤和要素:基本步骤:(1)找出最优解的性质,并刻画其结构特征。(考察是否适合采用动态规划法。)(2)递归地定义最优值。(建立递归式或动态规划方程)(3)以自底向上的方式(或以自顶向下的备忘录方法)计算出最优值。(4)根据计算最优值时得到的信息,构造最优解。要素:最优子结构重叠子问题备忘录(表格)应用实例分析:1、矩阵连乘问题:(1)分析最优解结构:计算A[i:j]的最优次序所包含的计算矩阵子链A[i:k]和A[k+l:j]的次序也是最优的。矩阵连乘计算次序问题的最优解包含着其子问题的最优解,满足最优子结构性质。问题的最优子结

7、构性质是该问题可用动态规划算法求解的显著特征。(2)建立递归关系;(3)计算最优值一递归求解(递归求解最优值复杂度较高的原因是:子问题重复度高);计算最优值一迭代查表求解计算最优值一备忘录求解(4)构造最优解第四章贪心法贪心算法的基本思想:当一个问题具有最优子结构性质时,可用动态规划方法求解,但有时会有更简单有效的方法。顾名思义,贪心算法总是作出在当前看來最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。贪心算法不能对所有问

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

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

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