数据结构主要研究的问题:如何合理地组织数据,高效地处理数据,这就是“数据结构”主要研究的问题。
基本概念和术语
1、数据(Data):是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
2、数据元素(Data Element):是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。也称为 元素、节点、记录。
3、数据项(Data Item):是组成数据元素的、有独立含义的、不可分割的最小单位。如,学生信息表中的学号、姓名、性别都是数据项。
4、数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。
以上四者的关系:数据项——>数据元素——>数据对象——>数据。
5、数据结构(Data Structure)是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括逻辑结构和物理结构两个层次。
数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
数据的逻辑结构有两个要素:数据元素和关系。
数据元素之间的关系:
(1)、集合结构: 数据元素之间除了“属于同一集合”的关系外,别无其他关系。
(2)、线性结构: 数据元素之间存在一对一的关系。
(3)、树结构:数据元素之间存在一对多的关系。
(4)、图结构或者网状结构:数据元素之间存在多对多的关系。
数据逻辑结构包括线性结构和非线性结构,线性结构线性表,栈和队列,字符串,数组和广义表,非线性结构包括树和二叉树,图和无向图。
存储结构:
数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。
数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。
(1)、顺序存储结构:顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
2)、链式存储结构:链式存储结构无需占用一整块存储空间。为了表示结点之间的关系,需要给每个
结点附加指针字段,用于存放后继元素的存储地址。通常借助程序 设计语言的指针类型来描述。
6、抽象数据类型(Abstract Data Type,ADT):一般指由用户定义的,表示应用问题的数据模型,以及
定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象,数据对象上关系的集合,以及对数据对象的基本操作的集合。
抽象数据类型的定义:
ADT 抽象数据类型
{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT 抽象数据类型
基本操作的定义格式:
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>