- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 面向对象程序设计和算法性能分析 2.1 数据结构的主要内容及教学要求 2.2 基本术语 2.3 算法描述及分析 2.1 数据结构的主要内容 例1: 200880-26089363621010510102780618748 2.1 数据结构的主要内容 例2: 电话号码簿 (a1,b1) (a2,b2)…(an,bn) 其中: ai为某人姓名,bi为该人的电话号码。 要求:设计一个算法,给定一个姓名时, 能查出此人的电话号码。 2.1 数据结构的主要内容 例3:大学学生管理机构 学校 一系 ...八系 ... 一年级 二年级 三年级 四年级 1班 ...8班 张三...李四 2.1 数据结构的主要内容 例4:图书目录管理 设每个书目含:书名,作者,登录号,分类,出版年月 对图书目录常有如下操作: 查找:某书在书库中是否存在? 插入:购进新书时的登录; 删除:报废或丢失的书,需从目录中去掉; 2.1 数据结构的主要内容 综上所述: 《DS》主要研究内容: 数据的各种逻辑结构和物理结构,以及它们之间的相应关系; 对每种结构定义相适应的各种运算; 设计出相应的算法; 分析算法的效率。 2.1 数据结构的教学要求 学会分析计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构以及相应的算法,并初步掌握算法的时间分析和空间分析的技巧。 进行复杂程序设计的训练过程,要求所写的程序结构正确,正确易读 数据结构与问题求解 1. 在计算机中建立一个与实际问题有比较密切对应关系的模型; 2. 计算机内部的数据 表示了需要被处理的实际对象,包括其内在的性质和关系; 3. 处理这些数据的程序 则模拟对象领域中的实际过程; 4. 将计算机程序的运行结果 在实际领域中给予解释,便得到实际问题的解。 2.2 基本术语 数据(Data):所有能被计算机处理的符号的集合。 数据元素(Data Element):是数据这个集合中的一个个体。 设给定数据集合为: D={d1,d2,...,dn} 则di属于D,并称di为数据元素。 数据项(Data Item):数据元素常常还可分为若干个数据项,数据项是数据具有意义的最小单位。 2.2 基本术语 数据类型:在一种程序设计语言中,变量所具有的数据种类。 例1、 在FORTRAN语言中,变量的数据类型有整型、实型、和复数型 例2、在C语言中,变量的数据类型:基本类型和构造类型 基本类型:整型、浮点型、字符型 构造类型:数组、结构、联合、指针、枚举型、自定义 2.2 基本术语 数据对象(Data Object): 具有相同特性的数据元素的集合。 例如:数据集合D={0,1,…,A,B,…,Z} 则:数据对象正整数N={ 0,1,…} 数据对象字母C={ A,B,…,Z } 数据元素是数据的一个个体, 数据对象是数据的一个子集。 2.2 基本术语 数据结构(Data Structure):是带有结构的数据元素的集合。 所谓结构就是数据元素之间的关系,即描述数据元素之间的运算及运算规则。 用集合的形式描述,数据结构是一个二元组: DS=(D,R) 其中:D是数据元素的集合,R是D上关系的集合。 简言之,数据元素和其相互关系称为数据结构 2.2 基本术语 2.2 基本术语 2.3 算法描述和算法分析 一.算法(Algorithm) 1、算法概念:算法是一个有限的指令集, 遵循指令流可以完成特定的功能。 2.3 算法描述和算法分析 4、算法与程序的区别 算法 是解决问题的一种方法或一个过程,考虑如何将输入转换成输出,一个问题可以有多种算法。 程序 是用某种程序设计语言对算法的具体实现。 2.3 算法描述和算法分析 二.算法分析 如何衡量一个正确算法的好坏? 衡量的三个尺度: 运行所花费的时间(算法的时间特性); 所占用存储空间的大小(算法的空间特性); 其他(可读性、易调性、健壮性等)。 时间和空间特性的巨大改进源于更好的数据结构或算法。 2.3 算法描述和算法分析 算法效率的度量 对一个算法要作出全面的分析可分成两个阶段进行,即事先分析和事后测试 事先分析 求出该算法的一个时间界限函数 事后测试 收集此算法的执行时间和实际占用空间的统计资料。 定义:如果存在两个正常数c和n0,对于所有的n≧n0,有︱f(n) ︳≦c|g(n) ︳ 则记作 f(n)=O(g(n)) 2.3 算法描述和算法分析 语句频度(Frequency Coun
文档评论(0)