目录
1.2 基本概念和术语1
1、数据、数据元素、数据项和数据对象
①数据(Data)。
②数据元素(Data Element)。
③数据项(Data Item)。
④数据对象(Data Object)。
(1)数据(Data)
数据是能输入计算机且能被计算机处理的各种符号的集合。
①信息的载体。
②是对客观事物符号化的表示。
③能够被计算机识别、存储和加工。
包括:
①数值型的数据:整数、实数等。
②非数值型的数据:文字、图像、图形、声音等。
(2)数据元素(Data Element)
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。也简称为元素,或称为记录、结点或顶点。一个数据元素可由若干个数据项(Data Item)组成。
学生表 | ||||
学号 | 姓名 | 性别 | 出生日期 | 政治面貌 |
0001 | 陆宇 | 男 | 1986/09/02 | 团员 |
0002 | 李明 | 男 | 1985/12/25 | 党员 |
0003 | 汤晓影 | 女 | 1986/03/26 | 团员 |
(3)数据项(Data Item)
数据项是构成数据元素的不可分割的最小单位。
学籍表 | ||||
学号 | 姓名 | 性别 | 出生日期 | 政治面貌 |
0001 | 陆宇 | 男 | 1986/09/02 | 团员 |
0002 | 李明 | 男 | 1985/12/25 | 党员 |
0003 | 汤晓影 | 女 | 1986/03/26 | 团员 |
数据、数据元素、数据项三者之间的关系:数据>数据元素>数据项。
例:学生表>个人记录>学号、姓名……
(4)数据对象(Data Object)
数据对象是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合;字母字符数据对象是集合;学籍表也可看作一个数据对象。
(5)数据元素与数据对象
①数据元素——组成数据的基本单位。
与数据的关系:是集合的个体。
②数据对象——性质相同的数据元素的集合。
与数据的关系是:集合的子集。
2、数据结构(Data Structure)
数据结构中数据元素不是孤立存在的,它们之间存在着某种关系 ,数据元素相互之间的关系成为结构(Structure)。数据结构是指相互之间存在一种或多种特定关系的数据元素集合。或者说,数据结构是带结构的数据元素的集合。
数据结构包括以下三个方面的内容:
①数据元素之间的逻辑关系,也称为逻辑结构。
②数据元素及其关系在计算机内存中的表示(又称为映像),称为数据结构的物理结构或数据的存储结构。
③数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
(1)数据结构的两个层次
逻辑结构是描述数据元素之间的逻辑关系;与数据的存储无关,独立于计算机;是从具体问题抽象出来的数学模型。
物理结构(存储结构)是数据元素及其关系在计算机存储器中的结构(存储方式);是数据结构在计算机中的表示。
逻辑结构与存储结构的关系:存储结构是逻辑关系的映象与元素本身的映象;逻辑结构是数据结构的抽象,存储结构是数据结构的实现;两者综合起来建立了数据元素之间的结构关系。
(2)逻辑结构的种类
划分方法一:
①线性结构:有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继。例如:线性表、栈、队列、串。
学号 | 姓名 | 性别 | 籍贯 | 专业 |
60214201 | 杨阳 | 男 | 安徽 | 计算机科学与技术 |
60214202 | 薛林 | 男 | 福建 | 计算机科学与技术 |
60214215 | 王诗萌 | 女 | 吉林 | 计算机科学与技术 |
60214216 | 冯子晗 | 女 | 山东 | 计算机科学与技术 |
②非线性结构:
一个结点可能有多个直接前驱和直接后继。例如:树、图。
划分方法二——四类基本逻辑结构。
①集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其它关系。
②线性结构:结构中的数据元素之间存在着一对一的线性关系。
③树形结构:结构中的数据元素之间存在着一对多的层次关系。
④图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系。
(3)存储结构的种类
四种基本的存储结构:顺序存储结构、链式存储结构、索引存储结构、散列存储结构。
①顺序存储结构:用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。C语言中用数组来实现顺序存储结构。
例:(bat,cat,eat,……)。
②链式存储结构:用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。C语言中用指针来实现链式存储结构。
例:(bat,cat,eat,……,mat)。
③索引存储结构:在存储结点信息的同时,还建立附加的索引表。索引表中的每一项称为一个索引项,索引项的一般形式是:(关键字,地址),关键字是能唯一标识一个结点的那些数据项。若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index)。若一组结点在索引表中只对应一个索引项,则该索引表称之为稀疏索引(Sparse Index)。
④散列存储结构:根据结点的关键字直接计算出该结点的存储地址。