网站大量收购独家精品文档,联系QQ:2885784924

1-算法及复杂性分析.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计技术4 回溯法 有一类问题,要求找到一个满足某些条件的最优解,如果进行彻底的搜索,要进行大量的比较,要以大量的运算时间为代价。 回溯法(backtracking)求助于回溯技巧,常常可以大大地减少实际的搜索数目。 * * 回溯法本质 由于回溯方法的本质是用深度优先的方法在解的空间树中搜索。所以在算法中都需要建立一个栈,用来保存搜索的路径。一旦产生的部分解序列不合要求,就要从栈中找到回溯的前一个位置,继续试探。 * * 算法设计技术5 分枝界限法(branch and bound)也是一种在表示问题解空间的树上进行系统搜索的方法。所不同的是,回溯法使用了深度优先策略,而分枝界限法一般采用广度优先策略,同时还采用最大收益(或最小损耗)策略来控制搜索的分枝。 * * 小结 算法的分析主要包含时间和空间两个方面,空间代价分析分成两种情形:静态分析和动态分析。 静态空间分析中,值得注意的是数组(静态数组),动态空间的确定主要考虑两种情况:函数的递归调用和空间的动态分配/回收。 算法的执行时间绝大部分花在循环和递归上,循环的时间代价一般可以用加法规则和乘法规则估算;对于递归算法,一般可以解递归方程计算。 * * 分治法通过把问题化为较小的问题来解决原问题,从而简化或减少了原问题的复杂度; 贪心法通过分阶段地挑选最优解,较快地得到整体的较好解,在问题要求不太严格的情况下,可以用这个较优解替代需要穷举所有情况才能得到的最优解; 动态规划法用填表的方法保存了计算的中间结果,从而避免了大量重复的计算; 回溯法跳过大量无须测试的元组,很快地得到需要的解。 分枝界限法是在系统搜索问题解的空间时,加入上下界的条件检查以达到有效剪枝的目的。 * * * * * 算法时间效率的度量分析 * * 常见函数的增长率 小规模数据 * * 中等规模数据 * * 时间代价分析 c log2N n n * Log2N n^2 n^3 2^n 3^n n! 算法的执行时间绝大部分花在循环和递归上。 * * 算法分析方法 * * 例:顺序搜索算法 templateclass Type int seqSearch(Type *a, int n, Type k) { for(int i=0;in;i++) if (a[i]==k) return i; return -1; } 算法分析 * * (1)Tmax(n) = max{ T(I) | size(I)=n }=O(n) (2)Tmin(n) = min{ T(I) | size(I)=n }=O(1) (3)在平均情况下,假设: (a) 搜索成功的概率为p ( 0 ? p ? 1 ); (b) 在数组的每个位置i ( 0 ? i n )搜索成功的概率相同,均为 p/n。 算法分析的基本原则 * * 非递归算法: (1)for / while 循环 循环体内计算时间*循环次数; (2)嵌套循环 循环体内计算时间*所有循环次数; (3)顺序语句 各语句计算时间相加; (4)if-else语句 if语句计算时间和else语句计算时间的较大者。 * * templateclass Type void insertion_sort(Type *a, int n)//插入排序 { Type key; // cost times for (int i = 1; i n; i++){ // c1 n key=a[i]; // c2 n-1 int j=i-1; // c3 n-1 while( j=0 a[j]key ){ // c4 sum of ti a[j+1]=a[j]; // c5 sum of (ti-1) j--; // c6 sum og (ti-1) } a[j+1]=key; // c7

文档评论(0)

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

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

1亿VIP精品文档

相关文档