目录
一.基本概念
1.数据:客观事物的符号,可以输入到计算机和被计算机程序处理,有整型等数值类型和字符,声音,图像等非数值类型;
2.数据元素:组成数据的基本单位,计算机中作为整体处理--数据模型的着眼点;
3.数据项:一个数据元素有若干个数据项,是数据不可分割的最小单位;
4.数据对象:性质相同的数据元素的集合,是数据的子集;
5.数据结构:相互之间存在一种或多种特定关系的数据元素的集合;
二、逻辑结构与物理结构
1.逻辑结构:数据对象中数据元素之间的相互关系
-
集合结构:集合结构中的数据元素除了同属于一个集合外,之间没有其他关系,各数据是“平等的”;
-
线性结构:线性结构中的数据元素之间是一对一的关系;① -②-③
-
树形结构:树形结构中的数据元素存在一种一对多的层次结构;
-
图形结构:图形结构的数据元素是多对多的关系;
2.物理结构/存储结构:数据的逻辑结构在计算机中的存储形式
理解:数据是数据元素的集合,物理结构即考虑如何将数据元素存储到计算机的存储器中,而存储器是针对内存而言的,如硬盘,软盘等的数据组织通常用文件结构来描述,也就是说数据的存储结构应正确反映数据元素之间的逻辑关系;
-
顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一样的;
可以理解为排队占位,如3个整型数据的数组,按一个整型数据所占的位置乘以3,在内存里开启一段连续的空间,第一个数据在第一个位置,第二个数据在第二个位置...依次排放;
-
链式存储结构:数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的;
理解:数据元素的存储关系并不能反映其逻辑关系,需要用一个指针存放数据元素的地址,这样通过地址就可以找到相关数据元素的位置;
三、抽象数据类型
1.数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称;
理解:数据类型是按照值的不同进行划分的,比如高级语言中,每个变量,常亮和表达式都有各自的取值范围,
eg:c语言中,按照取值类型不同,数据类型可以分为两类:
原子类型:不可再分解的基本类型,如整型,实型和字符型等;
结构类型:由若干个类型组合而成,可以进行分解,如整型数组由若干个数据组合而成;
c语言中变量声明int a,b意味着变量赋值时不能超出int的取值范围,变量之间的运算只能是int类型所允许的运算;
2.抽象数据类型Abstract Data Type:指一个数学模型及定义在该模型上的一组操作;
理解:抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内的实现无关,不仅指已经定义并实现的数据类型,也包含了开发者设计程序时定义的数据类型,如计算机绘图类软件,可以定义一个point数据变量,包含通常成对出现的x,y,z轴三个整型变量;
书中后续对抽象性数据类型的标准样式定义:
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
初始条件
操作结果描述
...
endADT
四.思维导图总结