- 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章 绪论new.ppt
例1.4 求两个n阶方阵的相加C A+B的算法如下,分析其时间复杂度。 #define MAX 20 //定义最大的方阶 void matrixadd int n,int A[MAX][MAX], int B[MAX][MAX],int C[MAX][MAX] int i,j; for i 0;i n;i++ for j 0;j n;j++ C[i][j] A[i][j]+B[i][j]; 该算法中的基本运算是两重循环中最深层的语句C[i][j] A[i][j]+B[i][j],分析它的频度,即: T n O n2 例1.5 分析以下算法的时间复杂度。 int fun int n int i,j,k,s; s 0; for i 0;i n;i++ for j 0;j i;j++ for k 0;k j;k++ s++; return s ; 基本语句或基本操作 解:该算法的基本操作是语句s++,其频度: T n O n3 则该算法的时间复杂度为O n3 。 例1.6 分析以下算法的时间复杂度。 void func int n int i 0,s 0; while s n i++; s s+i; 基本语句 解:对于while循环语句,设执行的次数为m,i从0开始递增1,直到m为止,有: s 0+1+2+…+ m-1 m m-1 /2, 并满足s m m-1 /2 n,则有m< 。 T n O 所以,该算法的时间复杂度为O 。 例1.7 有如下算法: void fun int a[],int n,int k //数组a共有n个元素 int i; if k n-1 for i 0;i n;i++ //n次 printf %d\n,a[i] ; else for i k;i n;i++ //n-k次 a[i] a[i]+i*i; fun a,n,k+1 ; 调用上述算法的语句为fun a,n,0 ,求其时间复杂度。 解:设fun a,n,0 的时间复杂度为T n ,则fun a,n,k 的执行时间为T1 n,k ,由fun 算法可知: T1 n,k n 当k n-1时 T1 n,k n-k +T1 n,k+1 其他情况 则 T n T1 n,0 n+T1 n,1 n+ n-1 +T1 n,2 … n+ n-1 +…+2+T1 n,n-1 n+ n-1 + …+2+n O n2 所以调用fun a,n,0 的时间复杂度为O n2 。 空间复杂度是对一个算法在运行过程中临时占用的存储空间大小的量度,一般也作为问题规模n的函数,以数量级形式给出,记作: S n O g n 若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作。若所需存储量依赖于特定的输入,则通常按最坏情况考虑。 1.3.3 算法空间复杂度分析 例1.8 分析例1.4和例1.5的空间复杂度。 解:由于这两个算法中临时变量的个数与问题规模n无关,所以空间复杂度均为O 1 。 1.4 数据结构+算法=程序 《数据结构+算法=程序》的作者: N.Wirth(1934年~),瑞士计算机科学家,1960年获加利福尼亚大学伯克利分校博士学位。曾任斯坦福大学、苏黎世联邦理工学院教授。发明多种计算机语言(包括Pascal、Modula和Oberon等),并为软件工程领域作出过开拓性的贡献。于1980年获得计算机科学界最高奖-图灵奖(/wiki/Turing_Award)。 C#语言创始人:Anders Hejlsberg(安德斯,海斯博格) Wirth的学生: 数据结构领域做出突出贡献的计算机科学家: Donald Knuth(1938年~),算法和程序设计技术的先驱者,计算机排版系统TEX和METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作(19部书和160篇论文)而誉满全球。作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于完成其关于计算机科学的史诗性的七卷集。这一伟大工程在1962年他还是加利福尼亚理工学院的研究生时就开始了。他于1974年获得计算机科学界最高奖-图灵奖。 C.A.R.Hoare(1934年~),英国计算机科学家,毕业于牛津大学,他最重要的工作包括:快速排序算法,Hoare逻辑,形式语言通信时序进程(CSP)等。于1980年获得计算机科学界最高奖-图灵奖。 1.4.1 程序和数据结构 沃思指出:程序就是在数据的某些特定的表示方法和结构的基础上,对抽象算法的具体表述,所以说程序离不开数据结构。 1.4.2 算法和程序 由程序设计语言描述的算法就是计算机程序。对一个求
您可能关注的文档
最近下载
- 2025重庆长江师范学院科研助理招聘13人笔试参考题库附答案解析.docx VIP
- 国际医学研究报告清单及规范:5-CARE Checklist 案例报告.docx
- 软件概要设计说明书.doc VIP
- 武汉理工大学855信号与系统2022考研真题试卷.pdf VIP
- 爆破行业风险评价方法、爆破作业风险分级管控指南、风险分级管控清单、隐患排查清单、台账.pdf VIP
- 2025年财政部高层次财会人才选拔考试综合试题及答案.docx VIP
- 国际贸易学_金泽虎主编_电子教案.ppt
- 2025年财政部高层次财会人才选拔考试测试题及答案.docx VIP
- 医学三基考试试题及答案.doc VIP
- 2025年职场 性格25PF测试题 .pdf VIP
文档评论(0)