历史沿革808培训讲学.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例:起泡分类法 ·设例子中数组的规模为: Size = 6 12 25 14 47 89 36 0 1 2 3 4 5 算法1.2: 类模板 seqlist 的用于排序的起泡方法 template < class Type > void seqlist<Type> :: BubbleSort( ) { // 将数组 p[0]到p[size-1] 逐趟进行比较,size为表的规模。 int j,k; int flag = 1; // 交换标志,flag 为 1 表示出现过数据交换,继续进 //行排序。若 flag为0,表示未出现过数据交换,数组 // p[0]到p[size-1]已经排好序,排序结束。 for ( j=0; j <= size - 2 && flag; j++ ){ flag = 0; for ( k = size - 1; k > j; k - -) if ( p[k-1] > p[k] ) { Type temp = p[k-1]; p[k-1] = p[k]; p[k] = temp; flag = 1; } } } 在a[6-1]和a[0]范围内最小的元素被放置在正确位置 例:最坏和最好情况下的时间复杂性 12 25 14 47 89 36 0 1 2 3 4 5 在a[6-1]和a[0]范围内最小的元素被放置在正确位置 a[0] 次最小 的元素 被放置 在正确 位置 a[1] 余类推 在最坏情况下的时间复杂性的分析:n为问题规模 1:交换 Swap 时间 O(1), O(1), O(1), O(1)。总和仍为O(1)。 2:IF 判断需O(1), 执行交换需O(1)。总和仍为O(1)。 3: 再加上 k - - 的时间:O(1), 总和仍为O(1)。 4:内循环所需时间为: O((n-1-j) × O(1) ) 即 O((n-1-j) 5:外循环中的循环一次还需时间 O(1): 一次赋值操作 flag = 0 O(1): 一次判断 j <= size - 2 && flag; O(1): 一次 加 1 操作 j++; 总的需要时间为: O(1) + O((n-1-j) 仍为: O((n-1-j) 。 6:总的时间代价为: ∑ (n-1-j) = (n-1) + (n-2) + …… 2 + 1 = O(n2) j=0 n-2 在最好情况下的时间复杂性的分析: 进行一趟检查之后,flag 为 0,已经排好序,无需再做。 故时间代价为:O(n) 时间复杂性的级别 注意: 1、时间复杂性函数无时间单位。 2、上例采用的是均匀时间耗费。以简单语句的耗费时间为 1 。 3、如 if 语句,条件:O(1) + THEN OR ELSE 后的语句的时间耗费之和。 4、循环语句,先里后外,逐步求和。 5、goto 语句的分析,具体情况,具体对待。 时间复杂性的级别的判断:级别越低越好。 ·if Lim f(n)/g(n) = c; 这里 c 是常数。 f(n)、g(n) 同级别。 n->∞ ·if Lim f(n)/g(n) = 0; f(n) 级别低。 n->∞ ·if Lim f(n)/g(n) = ∞; g(n) 级别低。 n->∞ 如:Lim logn/n = Lim Ln(n)loge/n = Lim (loge/n)/1 = Lim loge/n = 0; logn 级别低。 注意:这里使用了罗彼特的求极限的法则。 n->∞ n->∞ n->∞ n->∞ 例:求 xn 的程序的时间复杂性 方案1:直接采用循环的做法。 算法1.3: x 和 n 都是正整数,求 xn 之值的简单方法 int power01( int x,int n ) { int y;y = x; // 代价 2 while( n > 1 ) // 代价 n { y *= x; n - -; } // 代价2(n-1) cout << “ x^n is ” << y <

文档评论(0)

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

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

1亿VIP精品文档

相关文档