算法设计与分析复习要点.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
·算法是指解决问题的方法和过程。算法是由若干条指令组成的有穷序列。 ·算法特性:输入、输出、确定性、有限性(执行时间和执行次数)(有五个空再加上可行性)。 ·程序是算法用某种程序设计语言的具体实现,程序可不满足有限性的特性。 ·程序调试只能证明程序有错,不能证明程序无错误! ·算法复杂性 = 算法所需要的计算机资源。 ·算法的复杂性取决于:(1)求解问题的规模N;(2)具体的输入数据I;(3)算法本身的设计A。 ·可操作性最好且最有实际价值的是最坏情况下的时间复杂性。 第二章 递归与分治策略 二分搜索技术:O(logn) 大整数乘法:O(nlog3)=O(n1.59) Strassen矩阵乘法:O(nlog7)=O(n2.81) 棋盘覆盖:O(4k) 合并排序和快排:O(nlogn) 线性时间选择:O(n) 最接近点对问题:O(nlogn) 循环赛日程表:O(n2) ·分治法思想:将一个难以解决的问题分割成一些规模较小的相同问题,以便逐个击破,分而治之。 边界条件与递归方程是递归函数的两大要素。 递归优点:结构清晰,可读性强,而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。缺点:递归算法的运行效率较低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多。 ·分治法时间复杂度分析:T(n)= O(1) n=n0 aT(n/b)+f(n) nn0 若递归方式为减法:T(n) = O(an) 若递归方式为除法: f(n)为合并为原问题的开销:f(n)为常数c时:T(n)=O(np) f(n)为线性函数: O(n) ab a是子问题个数,b是递减的步长 T(n)= O(nlogbn) a=b O(np) ab,p=logba f(n)为幂函数nx时: O(nx) af(b) T(n)= O(nplogbn) a=f(b) O(np) af(b),p=logba ·证明算法的正确性:部分正确性、终止性。 :动态规划 ·当前决策的最优性取决于其后续决策序列的是否最优。动态规划方法可以保证问题求解是全局最优的。 ★·动态规划与贪心算法的比较: 相同点: 都具有最优子结构性质。 不同点: 贪心算法具有贪心选择性质;动态规划算法具有子问题重叠性质,子问题空间小; 动态规划算法通常以自底向上的方式解各子问题;贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。 `动态规划通常可以按以下几个步骤进行: (1)找出最优解的性质,并刻画其结构特征; (2)递归地定义最优值; (3)以自底向上的方式计算出各子结构的最优值并添入表格中保存; (4)根据计算最优值时得到的信息,构造最优解。 步骤1~3是动态规划算法的基本步骤。若需要最优解,则必须执行第4步,为此还需要在第3步中记录构造最优解所必需的信息。 第四章:贪心算法(最优子结构、贪心选择性质) ·特点:贪心算法每次选择目前最优的解,即通过一系列局部最优来获得整体最优。 贪心算法只有在具有贪心选择性质时才能保证获得整体最优。 Prim算法(O(n2)):在连通的情况下选择权值较小的边。 Kruskal算法(O(nlogn)):在无回路情况下选择权值较小的边。 旅行商问题的贪心算法: 基本思想:首先设置一个集合Path和当前节点v,然后不断地用贪心选择来扩充这个集合,直至Path包含所有V中顶点。 贪心选择:如果V–Path中的顶点j是与当前节点v相邻接的顶点中边权最小的,于是就选择j(将j加入Path),并将j作为新的当前节点 。 初始化:Path中仅含有源v。 活动安排问题: 1、最早开始时间:可以增大资源的利用率。 2、最早结束时间(更合理):可以使下一个活动尽早开始。 最优装载问题: 基本思想:每次采用重量最轻者优先装入的贪心选择策略 。 贪心算法只有在具有贪心选择性质时才能保证获得整体最优。 :回溯法(可递归实现也可以迭代

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档