电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

算法设计与分析期末备考知识点总结

算法设计与分析期末备考知识点总结_第1页
1/3
算法设计与分析期末备考知识点总结_第2页
2/3
算法设计与分析期末备考知识点总结_第3页
3/3
通俗地讲,算法是解决问题的方法,严格地说,算法是对特定问题求解步骤的一种描述,是指令的有限序列.算法还必须满足一下五个重要特性:输入、输出、有穷性、确定性、可行性.程序(Program)是对一个算法使用某种程序设计语言的具体实现,原则上,算法可以用任何一种程序设计语言来实现。什么是算法的计算复杂性?算法分析指的是对算法所需要的两种计算机资源——时间和空间(时间复杂性和空间复杂性进行估算,所需要的资源越多,该算法的复杂性就越高.表示计算复杂性的 O 你掌握了?若 存 在 两 个 正 的 常 数 c 和 n0 , 对 于 任 意 n≥n0 , 都 有 T(n ) ≤ c×f ( n ) , 则 称T(n)=O(f(n))(或称算法在 O(f(n))中)。我们主要介绍了哪几种算法设计方法?分治法:将一个难以直接解决的大问题,分割成一些规模较小的子问题,以便各个击破,分而治之。减治法:减治法在将原问题分解为若干个子问题后,利用了规模为 n 的原问题的解与较小规模(通常是 n/2)的子问题的解之间的关系,这种关系通常表现为:(1)原问题的解只存在于其中一个较小规模的子问题中;(2)原问题的解与其中一个较小规模的解之间存在某种对应关系。由于原问题的解与较小规模的子问题的解之间存在这种关系,所以,只需求解其中一个较小规模的子问题就可以得到原问题的解.动态规划法、贪心算法、回溯算法、概率RAM 程序分治法——-—-—合并排序设算法 4。3 对 n 个元素排序的时间复杂性为 T(n),则该二路归并排序算法存在如下递推式:二路归并排序的时间代价是 O(nlog2n)。所需空间只 要 O(m+n+min(m, n))的空间就够了(假设两个合并串的长度分别为 m 和n)。分治法—-——--快速排序在最好情况下在具有 n 个记录的序列中,一次划分需要对整个待划分序列扫描一遍,则所需时间为 O(n).时间复杂度为 O(nlog2n)。在最坏情况下必须经过 n—1 次递归调用才能把所有记录定位,而且第 i 趟划分需要经过 n—i 次关键码的比较才能找到第 i 个记录的基准位置,因此,总的比较次数为:时间复杂度为 O(n2)分治法-—--—-最大子段递推式: 算法时间复杂度: O(nlog2n)分治法—-—--—棋盘覆盖问题T(k)满足如下递推式:分治法-—————循环赛日安排问题基本语句的执行次数是:算法的其时间复杂性为 O(4k)。顺序统计问题:算法1 找出 n 个元素中的第 k 个最小元素输入 :从一个有线性序的集...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

算法设计与分析期末备考知识点总结

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部