- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 1章 绪 论第1章绪论什么是数据结构(定义)数据结构的内容 算法算法描述的工具 对算法作性能评价 关于学习数据结构
第 1章 绪 论1.1 什么是数据结构(定义)1. 数据(Data)数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。换句话说,数据是对客观事物采用计算机能够识别、存储和处理的形式所进行的描述。简而言之,数据就是计算机化的信息。
第 1章 绪 论例如对C 源程序,数据概念不仅是源程序所处理的数据,相对于编译程序来说,C编译程序相对于源程序是一个处理程序, 它加工的数据是字符流的源程序(.c), 输出的结果是目标程序(.obj); 对于链接程序来说,它加工的数据是目标程序 (.obj), 输出的结果是可执行程序(.exe),如图 1.1 所示。图1.1 编译程序示意图可执行程序源程序C编译程序 目标程度C链接程序
第 1章 绪 论2. 数据元素(Data Element)数据元素是组成数据的基本单位, 是数据集合的个体,在计算机中通常作为一个整体进行考虑和处理。表1-1 学籍表学号姓名性别籍贯出生年月住址101赵红玲女河北1983.11北京……………… 记数据项录
第 1章 绪 论3. 数据对象(Data Object)数据对象是性质相同的数据元素的集合,是数据的一个子集。例如:整数数据对象是集合N={0, ±1, ±2, …},字母字符数据对象是集合C={′A′,′B′,…,′Z′},表1-1所示的表也可看作一个数据对象。由此可看出,不论数据元素集合是无限集(如整数集)、有限集(如字符集),还是由多个数据项组成的复合数据元素(如学籍表),只要性质相同, 都是同一个数据对象。
第 1章 绪 论综上1~3所述,再分析数据概念:
第 1章 绪 论4. 数据结构(Data Structure)数据结构是指相互之间存在一种或多种特定关系的数据元素集合,图1.2 学校组织层次结构图
第 1章 绪 论图1.3 交通流量图
第 1章 绪 论5. 数据类型(Data Type)数据类型是一组性质相同的值集合以及定义在这个值集 合上的一组操作的总称。数据类型中定义了两个集合,即该 类型的取值范围,以及该类型中可允许使用的一组运算。例 如高级语言中的数据类型就是已经实现的数据结构的实例。 从这个意义上讲,数据类型是高级语言中允许的变量种类, 是程序语言中已经实现的数据结构(即程序中允许出现的数 据形式)。在高级语言中,整型类型可能的取值范围是-32 768~+32 767, 可用的运算符集合为加、 减、 乘、 除、 乘方、取模(如C语言中+, -, *, /, %)。
第 1章 绪 论6. 数据抽象与抽象数据类型 1) 数据的抽象计算机中使用的是二进制数,汇编语言中则可给出各种数据的十进制表示,如98.65、 9.6E3等, 它们是二进制数据的抽象;使用者在编程时可以直接使用, 不必考虑实现细节。在高级语言中,则给出更高一级的数据抽象,出现了数据类型, 如整型、 实型、字符型等。到抽象数据类型出现,可以进一步定义更高 级的数据抽象,如各种表、队、栈、树、图、窗口、管理器等,这种数据抽象的层次为设计者提供了更有利的手段,使得设计 者可以从抽象的概念出发,从整体考虑,然后自顶向下、逐步 展开,最后得到所需结果。可以这样看,高级语言中提供整型、实型、字符、记录、文件、指针等多种数据类型,可以利用这 些类型构造出像栈、队列、树、图等复杂的抽象数据类型。
第 1章 绪 论2) 抽象数据类型(Abstract Data Type)抽象数据类型(简称ADT)是指基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。抽象数据类型的定义取决于客观存在的一组逻辑特性,而与其在计算机内如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。从某种意义上讲,抽象数据类型和数据类型实质上是一个概念。整数类型就是一个简单的抽象数据类型实例。“抽象”的意义在于教学特性的抽象。一个 ADT定义了一个数据对象,数据对象中各元素间的结构关系,以及一组处理数据的操作。ADT 通常是指由用户定义且用以 表示应用问题的数据模型,通常由基本的数据类型组成,并包括一组相关服务操作。
第 1章 绪 论抽象数据类型是近年来计算机科学中提出的最重要的概念之一,它集中体现了程序设计中一些最基本的原则:分解、抽象和信息隐藏。一个抽象数据类型确定了一个模型,但将模型的实现细节 隐藏起来;它定义了一组运算,但将运算的实现过程隐藏起来。图1.4 用抽象数据类型指导问题求解
第 1章 绪 论数学模型→抽象数据类型→数据结构,恰好反应了信息结构转换的三个重要阶段,而在这个转换过程中,数据结构是基础,抽象数据类型是中枢。一个线性表的抽象数据
文档评论(0)