数据(Data) 数据 是信息的载体它能够被计算机识别存储和加工处理是计算机程序加工的原料 随着计算机应用领域的扩大数据的范畴包括整数实数字符串图像和声音等 数据元素(Data Element) 数据元素 是数据的基本单位数据元素也称元素结点顶点记录一个数据元素可以由若干个 数据项 (也可称为字段域属性)组 成数据项是具有独立含义的最小标识单位 数据结构(Data Structure) 数据结构 指的是数据之间的相互关系即数据的组织形式 数据结构一般包括以下三方面内容 ① 数据元素之间的逻辑关系也称 数据的逻辑结构 (Logical Structure); 数据的逻辑结构是从逻辑关系上描述数据与数据的存储无关是独立于计算机的数据的逻辑结构可以看作是从具体问题抽象出来的数学 模型 ② 数据元素及其关系在计算机存储器内的表示称为 数据的存储结构 (Storage Structure); 数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象)它依赖于计算机语言对机器语言而言存储结构是具体的一般只在 高级语言的层次上讨论存储结构 ③ 数据的运算 即对数据施加的操作 数据的运算定义在数据的逻辑结构上每种逻辑结构都有一个运算的集合最常用的检索插入删除更新排序等运算实际上只是在 抽象的数据上所施加的一系列抽象的操作所谓 抽象的操作 是指我们只知道这些操作是做什么而无须考虑如何做只有确定了 存储结构之后才考虑如何具体实现这些运算 为了增加对数据结构的感性认识下面举例来说明有关数据结构的概念 【例】 学生成绩表见下表 注意在表中指出数据元素数据项开始结点和终端结点等概念 ()逻辑结构 表中的每一行是一个数据元素(或记录结点)它由学号姓名各科成绩及平均成绩等数据项组成 表中数据元素之间的逻辑关系是对表中任一个结点与它相邻且在它前面的结点(亦称为直接前趋(Immediate Predecessor))最多只 有一个;与表中任一结点相邻且在其后的结点(亦称为直接后继(Immediate Successor))也最多只有一个表中只有第一个结点没有直 接前趋故称为开始结点;也只有最后一个结点没有直接后继故称之为终端结点例如表中马二所在结点的直接前趋结点和直接后继 结点分别是丁一和张三所在的结点上述结点间的关系构成了这张学生成绩表的逻辑结构 ()存储结构 该表的存储结构是指用计算机语言如何表示结点之间的这种关系即表中的结点是顺序邻接地存储在一片连续的单元之中还是用指针将 这些结点链接在一起? ()数据的运算 在上面的学生成绩表中可能要经常查看某一学生的成绩;当学生退学时要删除相应的结点;进来新学生时要增加结点究竟如何进行查 找删除插入这就是数据的运算问题 搞清楚了上述三个问题也就弄清了学生成绩表这个数据结构 数据的逻辑结构分类 在不产生混淆的前提下常将数据的逻辑结构简称为数据结构数据的逻辑结构有两大类 ( )线性结构 线性结构的逻辑特征 是若结构是非空集则有且仅有一个开始结点和一个终端 结点并且所有结点都最多只有一个直接前趋和一个直接后 继 线性表是一个典型的线性结构栈队列串等都是线性结构 ( )非线性结构 非线性结构的逻辑特征 是一个结点可能有多个直接前趋和直接后继数组广义表树和图等数据结构都是非线性结构 |