数据结构01章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构01章

▲ 预定义常量: #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -1 ▲ 数据元素被约定为ElemType 类型,用户需要根据具体情况,自行定义该数据类型。我们约定: typedef int ElemType; ▲ 函数返回类型: (void类型除外) typedef int Status; 例1:用类C描述将三个数值排序的算法。 viod Three_Sort( int *x,int *y,int *z){ //将x,y,z三个指针所指示的内容按从小到大的顺序重新排列 if (*y*x *y*z) *x?*y; //挑选出最小的数值并换到 x指针所指的存储单元中 else if (*z*x *z*y) *x?*z; if (*z*y) *y?*z; //在y和z所指示的存储单元中挑选出较小者换到y中 } * 主讲教师: 龚红仿 gonghf@ ghongfang@126.com 长沙理工大学数学与计算科学学院 第一章 绪 论 §1.2 什么是数据结构 数据(Data):能被计算机识别、存储和加工处理的信息的载体。简言之,就是程序处理的对象。如:数、字符串、源程序、目标程序等都是数据。其中源程序可被编译程序处理,目标程序可被反汇编程序处理,因而也称之为数据。 1、数据 2) 数据项(Data Item):数据不可分割的最小单位(又称“数据域”(Field))。 3) 数据元素(Data Element):数据的基本单位,由若干个数据项组成。 4) 数据对象(Data Object):具有相同特性的数据元素的集合(数据的一个子集) 。 2、 数据结构 1) 结构: 指数据元素之间的相互关系。 2) 数据结构 (至今没有一个被一致公认的定义) 简单定义:数据结构是带有结构的元素的集合。 直观定义:数据结构就是研究数据的逻辑结构和物理结构以及它们之间的相互关系,并对这种结构定义相应的运算,而且确保运算后所得到的新结构仍然是原来的结构类型。即:包括逻辑结构、存储结构和数据运算。 书上P5页定义:是相互间存在一种或多种特定关系的数据元素的集合。 ① 数据的逻辑结构:数据元素之间的逻辑关系。 ② 数据的物理结构(存储结构):数据元素以及数据元素之间的关系在计算机中的表示,即存储映象。 3) 基本结构:共四类 ① 集合:数据元素之间除了“同属于一个集合”之外,别无其它关系(与数学中集合概念一致)。 ② 线性结构:数据元素之间一对一的关系。 ③ 树形结构:数据元素之间一对多的关系。 ④ 图形结构(又叫“网状结构”):数据元素存在多对多的关系。 例如:复数是一种数据结构 Complex = (C, R) 其中:C = {ci | ci为实数,i = 1,2} R = {c1, c2 | c1 ,c2∈C,且 c1为实部, c2为虚部} ▲ 顺序映象(顺序存储结构):借助元素在存储器中的相对位置来表示数据之间的逻辑关系(如数组)。 5) 数据关系表示方法:两种 4) 数据元素表示方法:高级语言中的类型定义。 1) 数据类型(Data Type):在程序设计语言中,变量具有的数据种类。 ▲ 非顺序映象(链式存储结构):借助指示元素存储地址的指针表示数据元素之间的逻辑关系(如链表)。 3、抽象数据类型(ADT) 分为:原子类型(如:基本类型)和结构类型(如:结构体、共用体) 2) 抽象数据类型(Abstract Data Type,简称ADT): 指一个数学模型以及定义在该模型上的一组操作,是对数据类型逻辑形式的规范化描述。一个ADT的定义并不涉及它的实现细节,这些实现细节对于ADT的用户是隐藏的。隐藏实现细节的过程称为封装(Encapsulation)。 3) ADT的格式: ADT 抽象数据类型名{ 数据对象(D_Object): 数据对象的定义 数据关系(D_Relation): 数据关系的定义 基本操作(B_OP): 基本操作的定义 } ADT 抽象数据类型名 其中:①数据对象和数据关系

文档评论(0)

hello118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档