数据: 是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素: 数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据项: 一个数据元素由若干个数据项组成,数据项是数据的不可分割的最小单位。
以图书馆的书目检索系统为例,所有书的所有相关信息为数据,一本书的相关信息为数据元素,一本书的书目信息的每一项(如书名、作者名等)为一个数据项。
数据对象: 是性质相同的数据元素的集合,是数据的一个子集。
数据结构: 相互之间存在的一种或多种特定关系的数据元素的集合。
在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素之间的关系称为结构。
四种基本结构:
1、集合 除了同属于一个集合的关系外,别无其他关系
2、线性结构 数据元素之间存在着一对一的关系
3、树形结构 数据元素之间存在着一对多的关系
4、图状结构或网状结构 数据元素之间存在着多对多的关系
数据结构的形式定义为: 数据结构是一个二元组
Data Structure = (D,S)
其中: D是数据元素的有限集,S是D上关系的有限集。
结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称逻辑结构。
数据结构在计算机中的表示称为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。
数据元素之间的关系在计算机中有两种不同的表示方法: 顺序映像和非顺序映像,并由此得到两种不同的存储结构: 顺序存储结构和链式存储结构。
顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。
数据类型: 每一个变量、常量或表达式都有一个它所属的确定的数据类型。类型明显或隐含地规定了在程序执行期间变量或表达式所有可能取值的范围,以及在这些值上允许进行的操作。因此数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
例如,C语言中的整型变量,其值集为某个区间上的整数,定义在其上的操作为加减乘除取模等算数运算。
高级程序语言中的数据类型可分为两类:
1、非结构的原子类型,原子类型的值是不可分解的
2、结构类型,结构类型的值是由若干成分按某种结构组成的 因此是可以分解的,而且它的成分可以是非结构的,也可以是结构的。
在某种意义上,数据结构可以看成是“一组具有相同结构的值”,则数据类型可以看成由一种数据结构和定义在其上的一组操作组成。
抽象数据类型: 是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。
抽象数据类型和数据类型实质上是一个概念。例如,各个计算机都拥有的“”整数“”类型是一个抽象数据类型,尽管它们在不同处理器上实现的方法可以不同,但由于其定义的数学特性相同,在用户看来是相同的。因此,“抽象”的意义在于数据类型的数学抽象特性。
抽象数据类型细分成3种类型:
1、原子类型:属原子类型的变量的值是不可分解的。
2、固定聚合类型:属该类型的变量,其值由确定数目的成分按某种结构组成。例如,复数是由两个实数依确定的次序关系构成。
3、可变聚合类型:和固定聚合类型相比较,构成可变聚合类型“值”的成分的数目不确定。例如,可定义一个“有序整数序列”的抽象数据类型,其中序列的长度是可变的。
抽象数据类型可用以下三元组表示
(D,S,P)
D:数据对象
S:D上的关系集
P:对D的基本操作集
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
基本操作有两种参数:
赋值参数只为操作提供输入值
引用参数以&打头,除可提供输入值外,还将返回操作结果。
“初始条件”描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。
“操作结果”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。
多行数据类型:是指其值的成分不确定的数据类型。
因篇幅问题不能全部显示,请点此查看更多更全内容