数据结构
数据与数据的结构
-
数据( Data ):数据是用于描述客观事物的各种物理符号,包括数值、文字、图形、图像、声音等。数据是信息的载体,它能够被计算机识别、存储和加工处理;
-
数据项( Data Item ):数据项是数据不可分割的最小单位。例如学号、姓名、单价等;
-
数据元素( Data Element ):数据元素是数据的基本单位,即数据集合中的个体。有时它是数组中的一个元素;有时一个数据元素由若干个数据项组成,这时,称数据元素为记录。例如,一张学生情况汇总表,表中每个学生的信息就是一个数据元素(或称作记录),而其中的每一项(如学号、姓名、性别等)均为数据项。在数据结构中,通常把数据元素简称为数据;
-
结构( Structure ):由计算机来处理的数据元素之间都不会是孤立的,它们彼此间存在着某种关系,将数据元素间的这种关系称为结构;
-
数据结构( Data Structure ):数据结构是数据元素及其相互之间关系的集合。数据结构包括数据的逻辑结构和数据的存储结构(或称物理结构)。数据的逻辑结构可以看做是从具体问题抽象出来的数学模型,数据的存储结构是数据结构在计算机中的表示;
数据的逻辑结构
数据集合中各元素之间抽象化的逻辑关系即数据的逻辑结构。
- 集合结构:该结构中的数据元素之间的关系是同属于一个集合
- 线性结构:该结构中的数据元素之间存在一个对一个的关系
- 树形结构:该结构中的数据元素之间存在一个对多个的关系
- 图形结构:该结构中的数据元素之间存在多个对多个的关系;
数据的储存结构
数据的存储结构是数据的逻辑结构在计算机中的表示。它分为顺序存储和链式存储两种基本结构。顺序存储结构是用数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系;链式存储结构是用指示数据元素存储地址的指针表示数据元素之间的逻辑关系。
- 顺序存储结构。顺序存储结构是把逻辑上相邻的数据元素存储在物理位置相邻的存储单元中。它只存放数据元素的值,数据元素之间的逻辑关系用存放数据元素的位置关系来表示。这种存储方式适合于线性结构;
- 链式存储结构。链式存储结构不仅存储数据元素的值,而且存储数据元素之间的逻辑关系。它利用存储结点(简称结点)附加的指针域,存储其前驱或后继结点的地址。各数据元素的存储空间可以不连续,存储顺序(即存储空间位置)与数据元素之间的逻辑关系可以不一致;
链式存储结构中结点由两部分组成:一部分存储结点本身的值,称为数据域;另一部分存储该结点的前驱或后继结点的存储单元地址,称为指针域。
数据的运算
数据的运算是定义在数据的逻辑结构上的操作,但运算的具体实现要在存储结构上进行。数据的各种逻辑结构有相应的各种运算,每种逻辑结构都有一个运算的集合。数据的运算对数据结构非常重要。
- 插入:向数据结构里增加新的结点;
- 删除:把指定的结点从数据结构里去掉;
- 查找:在数据结构里查找满足一定条件的结点;
- 替换:改变指定结点的一个或多个域的值;
- 排序:保持线性结构的结点序列里结点数不变,把结点按某种指定的顺序重新排列;