- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章基本概念以及算法性能分析.ppt
/blog/html/52/146552.html 例1 {++x;s=0} O(1)——常量阶 例2 for (i=1;i=n;++i) {++x;s=0} O(n)线性阶 例3 for (i=1;i=n;++i) For (j=1;j=n;++j) {++x;s=0} O(n2)平方阶 /blog/html/52/146552.html 例4 for (i=1;i=n;++i) for (j=1;j=n;++j) {c[i][j]=0; for (k=1;k=n;++k) c[i][j]=c[i][j]+c[i][k]*c[k][j];} O(n3) /blog/html/52/146552.html 例子 5 for(i=1;i=n;i=2*i) printf(“i=%d”,i); 该基本语句执行次数为f(n) 2f(n)=n; f(n)=log2n 时间复杂度为:O(log2n) /blog/html/52/146552.html 由于算法的时间复杂度是问题规模n的增长率,通常情况下只 需要计算它关于n的增长率或阶即可. for (i=2;i=n;++i) for (j=2;j=i-1;++j) {++x;a[i][j]=x;} 1+2+3+---+(n-2)=(n-2)(n-1)/2 时间复杂度为:O(n2) /blog/html/52/146552.html 注意:基本操作重复次数不确定的情况。 1)最坏情况下的时间复杂度 2)计算所有可能情况,然后取平均值 /blog/html/52/146552.html for(i=1;i=n;i++) for(j=1;j=n-1;j++) If (a[j]a[j+1]) a[j] a[j+1] for(i=1;i=n-1;i++) for(j=1;j=n-i;j++) If (a[j]a[j+1]) a[j] a[j+1] 冒泡排序算法 改进 /blog/html/52/146552.html 例 4) 算法空间复杂度 在本课程中,用执行算法所需的辅助空间的大小作为算法所需空间的度量。 设执行算法所需的辅助空间是问题规模n的某个函数g(n),则算法空间复杂度记作: S(n)= O(g(n)) 表示算法辅助空间的增长率 与g(n) 的增长率相同 计算 解法1 先计算x 的幂, 存于power[ ]中,再分别乘以相应的系数 # define N 100 float evaluate (float coef[ ], float x , int n ) { float power[N], f; int i; for (power[ 0]=1, i = 1; i=n; i++ ) power[i]=x*power[i-1]; for (f = 0, i=0; i=N; i ++) f=f+coef[i]*power[i]; return(f); } 问题规模为n, 算法时间复杂度: O(n) 空间复杂度: O(N) /blog/html/52/146552.html 1、数据、数据元素、数据项的概念及相互关系; 2、逻辑结构、存储结构的特点及分类; 3、逻辑结构、存储结构、算法的联系与区别; 4、抽象数据类型的概念; 5、算法的时间和空间复杂度。 重点:逻辑结构、存储结构及算法的联系;评价算法效率的标准及方法。 难点:算法的时间、空间复杂度分析。 * 第1章 基本概念和算法性能分析 /blog/html/52/146552.html 第一章 基本概念和算法性能分析 1.1 为什么要学习数据结构; 1.2 数据结构课程研究的内容; 1.3 数据结构的分类及表示; 1.4 算法及算法分析(算法评价) /blog/html/52/146552.html 一、什么是数据结构? 1)学籍管理系统 学号 姓名 班级 职务 … 0001 王兵 200201 班长 0002 李方 200202 0003 王力 200203 0004 张平 200204 学号 外语 数学 政治 数据结构 0001 89 98 76 96 000
文档评论(0)