- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1)设用如下六个不同的代号代表不同的项目: 跳高 跳远 标枪 铅球 100米 200米 A B C D E F (2)用顶点代表比赛项目 (3)用边连接不能同时进行比赛的项目 则可用如下图所示: 1.2 基本概念和术语 数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能被输入到计算机中并被计算机程序处理的符号的总称。 数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据项(Data Item):一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。 数据对象(Data Object):是性质相同的数据元素的集合。是数据的一个子集。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。 1.4 算法和算法分析 1) 什么是算法? 算法(Algorithm)是对特定问题求解步骤的描述。 描述算法的方法有:自然语言、流程图、N-S图和伪码语言等。本书采用类C语言来描述算法。 伪码语言是包括高级语言的三种基本结构、自然语言和数学语言成份的面向读者的一种语言。 2) 一个算法必须满足的五个准则: (1)有穷性--- 一个算法必须在执行有穷步骤之后正常结束,而不能形成无穷循环,且必须在有穷时间内完成。 例1.3、例1.4 (2)确定性(无二义)--- 算法的每一步操作都必须有确切含义,不得有任何二义性。 (3)可行性 :算法中的每一条指令必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现。 (4)输入:一个算法有n(n=0)个初始数据的输入。 (5)输出:一个算法有一个或多个与输入有某种关系的有效信息的输出。 例1.4 一个不超过100次计数的算法 n=1;s=0; while(n=100) { s+=n; n++; } 输出n的值; 3)算法设计的要求 正确性、可读性、健壮性和效率与存储量要求。 程序正确性的四个层面: (1)不含语法错误 (2)程序对于n组输入数据能够得出满足规格说明要求的结果。 (3)程序对于精心选择的典型、边界性的n组输入数据能得出满足规格说明要求的结果。 (4)程序对于一切合适的输入数据都能得出满足规格说明要求的结果(穷举)。 常见函数的时间复杂度按数量递增排列及增长率。 常数阶O(1) 对数阶O(log2n) 线性阶O(n) 线性对数阶O(nlog2n) 平方阶O(n2) 立方阶O(n3) …… k次方阶O(nk) 指数阶O(2n) 本章小结 1.基本概念和术语 数据、数据元素、数据项、数据结构、数据对象、数据结构(逻辑结构、存储结构、运算)、多形数据类型、抽象数据类型(定义、表示和实现) 2.抽象数据类型:描述、类-C中的基本语句和函数 3.算法:算法的时间复杂度(渐近时间复杂度、最坏情况下的时间复杂度和平均时间复杂度),算法的空间复杂度(原地工作、额外空间)。对O的理解 嫦娥一号:98.8万行源代码, 421万份文件, 打印 出来有23000页。用了160多万行程序证明它的正确 性。 款渊诺侮慧旅烟摊载喊授某垢亨戴捎许做颓什积贱屁瘁屋搀缘申藉鸭吱誓数据结构(C语言版)严尉敏编 第1章绪论数据结构(C语言版)严尉敏编 第1章绪论 4)高效率与低存储量需求 通常,效率指的是算法执行时间;存储量指的是算法执行过程中所需的最大存储空间,两者都与问题的规模有关。 算法效率的衡量方法和准则 衡量算法效率的方法: 缺点:1.必须执行程序 2.其它因素掩盖算法本质 事后统计法: 事前分析估算法 蒂犁扇注到持弦甩溅灰辗逸屁朴暂苇釜蹿肋趣裂社入眉陆刻撂阴烷吩宜聪数据结构(C语言版)严尉敏编 第1章绪论数据结构(C语言版)严尉敏编 第1章绪论 和算法执行时间相关的因素: 1.算法选用的策略 2.问题的规模 3.编写程序的语言 4.编译程序产生的机器代码的质量 5.计算机执行指令的速度 一个特定算法的“运行工作量” 的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。 铂巴耘柬棱照和快苑鹰簇囚憎撅杰钝内蹈令搪喘丰凄办馆键诞煌墨掐拔麻数据结构(C语言版)严尉敏编 第1章绪论数据结构(C语言版)严尉敏编 第1章绪论 假如,随着问题规模 n 的增长,算法执行时间的增长率和 f(n) 的增长率相同,则可记作: T (n) = O(f(n)) 称T (n) 为算法的(渐近)时间复杂度。 如何估算算法的时间复杂度? ( M 是0的常数) 例:2n3+1
您可能关注的文档
最近下载
- 《无人机艺术摄影》课件——项目5 无人机拍摄视频.ppt VIP
- HD21.2 S3-1997+A1-2002 额定电压450/750V及以下热塑性绝缘电缆 第2部分:试验方法(中文).pdf VIP
- 基于体卫融合的儿童青少年运动指南(2024) .pdf VIP
- GB_T 18920-2020 城市污水再生利用城市杂用水水质.pdf VIP
- 陀螺仪减震装置及无人机.pdf VIP
- 12J003室外工程(标准图集).docx
- 项目管理办公室PMO实践指南.docx VIP
- 最新医疗器械分类标准目录.pptx VIP
- 风电场项目风机及附属设备吊装工程(混塔风机吊装施工方案).pptx VIP
- DLT 5265_水电水利工程混凝土搅拌楼安全操作规程.pdf VIP
文档评论(0)