- 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
- 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算机的符号集合。
- 数据元素:是组成数据的、具有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。
- 数据项:一个数据元素可以由若干个数据项组成,是数据不可分割的最小单位。
- 数据对象:性质相同的数据元素的集合,是数据的子集。
- 抽象数据类型(Abstract Data Type):是指一个数学模型及定义在该模型上的一组操作。
- 数据结构的分类:(1)逻辑结构 (2)物理结构(存储结构)
逻辑结构定义及分类:是指数据对象中数据元素之间的相互关系。
【1】集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。
【2】线性结构:线性结构中的数据元素之间是一对一的关系。
【3】树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。
![]()
【4】图形结构(网状结构):图形结构的数据元素是多对多的关系。
物理结构定义及分类:是指数据的逻辑结构在计算机中的存储形式
注意:数据的物理结构可分为顺序存储与非顺序存储
若采用顺序存储,则各个数据元素在物理上必须是连续的
若采用非顺序存储,则各个数据元素在物理上可以是离散的
数据的物理结构会影响存储空间分配的方便程度,会影响对数据运算的速度
【1】顺序储存:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系与物理关系是一致的。
【2】链式存储:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
【3】索引存储:在存储元素信息的同时,还建立附加的索引表。
索引表中的每项称为索引项,索引项的一般形式是(关键字,地址)
【4】散列存储:根据元素的关键字直接计算出该元素的存储地址,又称哈希(Hash)存储
数据类型与抽象数据类型
数据类型:是一个值的集合和定义在此集合的一组操作的总称
1)原子类型。其值不可再分的数据类型。如:int类型,double类型
2)结构类型。其值可以分解为若干成分(分量)的数据类型。如C语言中的结构体类型
抽象数据类型(Abstract Data Type,ADT)是抽象数据组织及与之相关的操作。
ADT用数学化的语言定义数据的逻辑结构,定义运算,与具体的实现无关。
在探讨一种数据结构时:
(1)定义逻辑结构(数据元素之间的关系)
(2)定义数据的运算(针对现实需求,应该对这种逻辑结构进行什么样的运算)
(3)确定某种存储结构,实现数据结构,并实现一些对数据结构的基本运算