1.1 数据结构基本概念与算法3.0.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * 长春理工大学 计算机科学技术学院基础部 孙爽滋 猩猩点灯: for(i=1;i=k;i++) { if(sqrt(i)*sqrt(i)==i) count++; } 方法一:过程模型 方法二:求约数问题 方法三:求完全平方数问题 (1)有穷性:一个算法必须在执行有穷步之后结束。 (2)确定性:算法中的每一步,必须有确切的含义,在他人理解时不会产生二义性。 (3)可行性:算法中描述的每一步操作都可以通过已有的基本操作执行有限次实现。 (4)输入:一个算法应该有零个或多个输入。 (5)输出:一个算法应该有一个或多个输出。这里所说的输出是指与输入有某种特定关系的量。 算法的性质 正确性(四个境界) 没有语法错误 对于合法的输入数据能够产生满足要求的输出 对于非法的输入数据能够得出满足规格说明的结果 对于任何测试数据都有满足要求的输出结果 可读性:便于阅读、理解和交流 健壮性:不合法数据也能合理处理 时间效率高和存储量低 算法设计的要求 评价算法 长春理工大学 计算机科学技术学院基础部 孙爽滋 算法复杂性是一个算法是否实用的至关重要的问题。 算法的时间复杂性和空间复杂性 时间复杂性 度量: 基本运算、对象大小、输入情况是度量时间复杂性的3个主要因素。 C=T(n)=O( f (n) ) 其中,n:问题规模。 长春理工大学 计算机科学技术学院基础部 孙爽滋 例1 x+=5; 单个语句的频度为1,则 程序段的时间复杂度为 例2 for(i=0;in; i++) for(j=0 ;jn;j++) c[i][j]=i*j; 最优算法:随n的增大, O增长较慢的算法。 T(n)=O(1) 则:T(n)=O(n2) 评价算法 例3for(i=1;i=n;++i) for(j=1;j=n;++j) { c[i][j]=0; for(k=1;k=n;++k) c[i][j]+=a[i][k]*b[k][j]; } 由于是一个三重循环,每个循环从1到n,则总次数为: n×n×n=n3  时间复杂度为T(n)=O(n3) 例4for(i=1;i=n;++i) { ++x; s+=x; } 语句频度为:2n  其时间复杂度为:O(n) 例5 for(i=2;i=n;++i) for(j=2;j=i-1;++j) {++x; a[i][j]=x;} 语句频度为: 1+2+3+…+n-2 =(1+n-2) ×(n-2)/2 =(n-1)(n-2)/2 =n2-3n+2 ∴时间复杂度为O(n2) x = 0; y = 0; for ( k = 0; k n; k ++ ) x ++; for ( i = 0; i n; i++ ) for ( j = 0; j n; j++ ) y ++; T1(n) = O(1) T2(n) = O(n) T3(n) = O(n2) T(n) = T1(n)+T2(n)+T3(n) = O( max( 1, n, n2 ) ) = O(n2) 评价算法 例分析以下程序段的时间复杂度 i=1; ① while(i=n) i=i*2; ② 即f(n)≤log2n,取最大值f(n)=log2n 所以该程序段的时间复杂度T(n) =O( log2n) 评价算法 例顺序查找,在数组a[i]中查找值等于x的元素,返回其所在位置。 有的情况下,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同 最好情况:1次 最坏情况:n 平均时间复杂度为:O(n) 评价算法 复杂度高 复杂度低 指数时间的关系为: O(2n)O(n!)O(nn)  当n取得很大时,指数时间算法和多项式时间算法在所需时间上非常悬殊 简记:O(1)O(logn)O(n)O(nlogn) O(n2)O(n3) 时间复杂度T(n)按数量级递增顺序为: 本节要点 数据结构 算 法 基本 概念 逻辑 结构 存储 结构 ⑴数据 ⑵数据元素 ⑶数据对象 ⑴逻辑结构 ⑵数

文档评论(0)

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

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

1亿VIP精品文档

相关文档