- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法設计与分析总结
第一章绪论1、重要特性1.输入2.输出3.有穷性4.确定性5.可行性2、描述算法的方法1.自然语言:优点是直观易懂,缺点是容易出现二义性2.流程图:优点是直观易懂,缺点是严密性不如程序设计语言,灵活性不如自然语言3.程序设计语言:优点是计算机直接运行,缺点是抽象性差4.伪代码:3、递归算法分析1.猜测技术2.扩展递归技术3.通用分治递归推式第二章 NP完全理论第三章蛮力法3.1 蛮力法的设计思想蛮力法依赖的基本技术——扫描技术,即采用一定的策略将待求解问题的所有元素依次处理一次,从而找出问题的解;关键——依次处理所有元素。3.2 查找问题中的蛮力法3.2.1 顺序查找O(n)3.2.2串匹配问题BF O(n*m)BMP O(n+m)BM O(n*m)3.3 排序问题中的蛮力法3.3.1 选择排序O(n2)3.3.2 起泡排序O(n2)3.4 组合问题中的蛮力法3.4.1 生成排列对象O(n!)3.4.2 生成子集O(2n)3.4.3 0/1背包问题O(2n)3.4.4 任务分配问题O(n!)3.5 图问题中的蛮力法3.5.1 哈密顿回路问题O(n!)3.5.2 TSP问题O(n!)3.6 几何问题中的蛮力法3.6.1 最近对问题O(n2)3.6.2 凸包问题O(n3)3.7 实验项目——串匹配问题第四章分治法4.1 分治法的设计思想设计思想:将要求解的原问题划分成k个较小规模的子问题,对这k个子问题分别求解。如果子问题的规模仍然不够小,则再将每个子问题划分为k个规模更小的子问题,如此分解下去,直到问题规模足够小,很容易求出其解为止,再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解。步骤:(1)划分(2)求解子问题(3)合并4.2 排序问题中的分治法4.2.1 递归排序O(nlog2n)4.2.2 快速排序O(nlog2n)4.3 组合问题中的分治法4.3.1 最大字段和问题O(nlog2n)4.3.2棋盘覆盖问题O(4k)4.3.3 循环赛日程安排问题O(4k)4.4 几何问题中的分治法4.4.1 最近对问题O(nlog2n)4.4.2 凸包问题O(nlog2n)4.5 实验项目——最近对问题第五章减治法5.1 减治法的设计思想原问题的解只存在于其中一个较小规模的子问题中,所以,只需求解其中一个较小规模的子问题就可以得到原问题的解。5.2 查找问题中的减治法5.2.1 折半查找O(log2n)5.2.2 二叉查找树O(log2n)5.3 排序问题中的减治法5.3.1 堆排序O(log2n)5.3.2 选择问题O(log2n)5.4 组合问题中的减治法5.4.1 淘汰塞冠军问题O(n)5.4.2 假币问题O(log2n)5.5 实验项目——8枚硬币问题第六章动态规划法6.1动态规划法的设计思想将待求解问题分解成若干个相互重叠的子问题,每个子问题对应决策过程的一个阶段,将子问题的解求解一次并填入表中,当需要再次求解此子问题时,可以通过查表获得该子问题的解而不用再次求解。步骤:将原始问题分解为相互重叠的子问题,确定动态规划函数;求解子问题,填表;根据表,自底向上计算出原问题的解。6.2 图问题中的动态规划法6.2.1 TSP问题O(2n)6.2.2 多段图的最短路径问题O(n+m)6.3 组合问题中的动态规划法6.3.1 0/1背包问题O(n*C)6.3.2 最长公共子序列问题O(n*m) .6.4 查找问题中的动态规划法6.4.1 最优二叉查找树O(n^3)6.4.2 近似串匹配问题6.5 实验项目——最大子段和问题第七章贪心法7.1 贪心法的设计思想贪心法在解决问题的策略上目光短浅,只根据当前已有的信息就做出局部最优选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。贪心法的关键在于决定贪心策略。7.2 图问题中的贪心法7.2.1 TSP问题O(2n)7.2.2 图着色问题7.2.3 最小生成树问题O(2n)7.3 组合问题中的贪心法7.3.1 背包问题O(nlog2n)7.3.2 活动安排问题O(nlog2n)7.3.3 多机调度问题O(n*m)7.4 实验项目——哈夫曼编码第八章回溯法8.1 回溯法的设计思想从解空间树根结点出发,按照深度优先策略遍历解空间树,在搜索至树中任一结点时,先判断该结点对应的部分解是否满足约束条件,或者是否超出目标函数的界,也就是判断该结点是否包含问题的(最优)解,如果肯定不包含,则跳过对以该结点为根的子树的搜索,即所谓剪枝(Pruning);否则,进入以该结点为根的子树,继续按照深度优先策略搜索。直到搜索到叶子结点,则得到问题的一个可能解。步骤:确定解向量和分量的取值范围,构造解空间树;确定剪枝函数;对解空间树按深度优先搜索,搜索过程中剪枝;从所有的可能解中确
文档评论(0)