- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与(绪论-0906)
中山大学 * 几种时间复杂度 O(1):常数时间 O(log2n):对数时间 O(n):线性时间 O(nlog2n):线性对数时间 O(n2):平方时间 O(n3):立方时间 O(2n):指数时间 中山大学 * 几种时间复杂度 中山大学 * 五、算法的存储空间需求 类似于算法的时间复杂度,空间复杂度可以作为算法所需存储空间的量度。记作: S(n)=O(g(n)) 表示随着问题规模n的增大,算法运行所需存 储量的增长率与g(n)的增长率相同。 中山大学 * 算法的存储量包括: 1.输入数据所占空间; 2.程序本身所占空间; 3.辅助变量所占空间; 五、算法的存储空间需求 中山大学 * 若输入数据所占空间只取决与问题本身,而与算法无关。则只需要分析除输入数据和程序之外的辅助变量所占的额外空间。 若所需额外空间相对于输入数据量来说是常数,则称此算法为原地工作。 若所需存储量依赖于特定的输入,则通常按最坏情况考虑。 五、算法的存储空间需求 中山大学 * 1.熟悉各名词、术语的含义,深刻理解 基本概念。2.了解抽象数据类型的定义、表示和实 现方法。3.理解算法的概念及5个要素的确切含 义。4.掌握算法时间复杂度的估算方法。 本章学习要点 中山大学 * 逻辑结构和存储结构的区别 逻辑结构定义了数据元素之间的逻辑关系; 存储结构是逻辑结构在计算机中实现; 一种逻辑结构可以采用不同存储方式存储在计算机中,但都必须反映出要求的逻辑关系。 中山大学 * 中山大学 * 1.简述如下概念: 数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、抽象数据类型。 本章习题 中山大学 * 2.定义抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法,以及求有理数的分子、分母。 本章习题 中山大学 * (1) i=1; k=0; do { k +=10 * i; i++; } while(i=n-1); (2) k=0; for( i=1; i=n; i++) { for (j=i ; j=n; j++) k++; } 本章习题 3.设n为正整数,利用大“O”记号,分析下列程序段的T(n)。 (3)for(i=1;i=n;i++) for(j=1;j=i;j++) for(k=1;k=j;k++) x=x+1; 中山大学 * 本章习题 从硬件的角度看,它们的实现涉及到“字”、“字节”、“位”、“位运算”等等;从用户观点看,并不需要了解整数在计算机内是如何表示、运算细节是如何实现的,用户只需要了解整数运算的外部运算特性,而不必了解机器内部位运算的细节,就可运用高级语言进行程序设计。引入数据类型的目的,从硬件的角度是作为解释计算机内存中信息含义的一种手段,对使用数据类型的用户实现了信息隐蔽,将一切用户不必关心的细节封装在类型中。如两整数求和问题,程序用户只仅仅注重其数学求和的抽象特性,而不关心加法运算涉及的内部位运算实现。 * * * * * 一种数据结构的优劣是由实现其各种运算的算法具体体现,对数据结构的分析实质上就是对实现运算算法的分析,除了要验证算法是否正确解决该问题之外,需要对算法的效率作性能评价。在计算机程序设计中,对算法分析是十分重要的。通常对于一个实际问题的解决,可以提出若干个算法,那么如何从这些可行的算法中找出最有效的算法呢?或者有了一个解决实际问题的算法,我们如何来评价它的好坏?等等这些问题需要通过算法分析来确定。因此算法分析是每个程序设计人员应该掌握的技术。评价算法的标准很多,评价一个算法主要看这个算法所占用机器资源的多少,而这些资源中时间代价与空间代价是两个主要的方面,通常是以算法执行所需的机器时间和所占用的存储空间来判断一个算法的优劣。 * 中山大学 * 二、算法设计的原则 4、高效率与低存储量需求: 通常,效率指的是算法执行的时间;对于解决同一问题的多个算法,执行时间短的算法效率高。存储量需求指算法执行过程中所需要的最大存储空间。一般,这两者与问题的规模有关。 二、算法设计的原则 中山大学 * 设计实现算法过程步骤 1. 找出与求解有关的数据元素之间的关系 2. 确定在某一数据对象上所施加运算 3. 考虑数据元素的存储表示 4. 选择描述算法的语言 5.设计实现求解的算法,并用程序语言加以描述。 中山大学 * 中山大学 * 最简单的方法是使用自然语言。用自然语言来描述
您可能关注的文档
- 数字图像与处理4.4 .ppt
- 数字图像与处理图像分割和数学形态学 .ppt
- 数字图像与处理复习内容概括 .ppt
- 数字图像与处理复习提纲 .ppt
- 数字图像与处理技术PPT、图像增强之变换域运算 .ppt
- 数字图像与处理课件3 .ppt
- 数字图像与处理课程总结 .ppt
- 数字图象与处理11 .ppt
- 数字图象与处理清华大学课件-02 .ppt
- 数字图象与处理实验题解析 .ppt
- 大模型及AI应用专题:Gemini 3.0 Nano密集发布,从谷歌AI体系看应用叙事.docx
- 宏观深度报告:超万亿美元贸易顺差流向哪里.pdf
- 肝原代细胞库的建立及肝脏自组装类器官疾病模型构建.pdf
- 全球供应链促进报告及指数矩阵.pdf
- 抖音有你真好我的上班搭子IP营销.pdf
- 2025财年加蓬国家意见调查报告2025.12.docx
- 2025年中国网文IP短剧开发价值报告.pptx
- 香樟公馆卢浮魅影国庆节晚宴活动方案.pptx
- 某县委政法委书记在全县政法综治工作会议上的发言提纲汇编(5篇).docx
- 某县民族团结进步创建经验材料:以“五个一”创建模式为抓手+争创全国民族团结进步示范县.docx
原创力文档


文档评论(0)