Appearance
408
数据结构
DS-01-01 数据结构基本概念(数据/数据元素/数据对象/数据结构)
一、定位信息
| 项目 | 内容 |
|---|---|
| 所属圈层 | 核心层 |
| 前置知识回顾 | 无特殊前置要求,本单元为数据结构课程的起始概念,零基础即可学习 |
| 知识网络定位 | 本单元是整个数据结构课程的基石,后续所有章节(线性表、树、图、排序、查找)均建立在"数据结构"这一核心概念之上 |
| 考点热度等级 | M级(中频常考)——近5年真题中多以选择题形式考查概念辨析,单次分值2分左右,但作为后续所有知识的根基,理解不透会影响全局 |
热度说明:基于大纲权重与通用命题规律推测,待真题分析后校准。
二、知识点讲解
2.1 四个基本概念及其层次关系
数据结构中有四个层层递进的基本概念,理解它们的层次关系是学好本课程的第一步。
(1)数据(Data)
数据是信息的载体,是所有能被计算机识别、存储和加工处理的符号的总称。数据不仅包括整数、实数等数值型数据,还包括字符、字符串、图像、声音等非数值型数据。
直观理解:数据就像"原材料",是计算机处理的对象。
(2)数据元素(Data Element)
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(Data Item)组成,数据项是数据元素中不可分割的最小单位。
举例:在学生信息管理系统中,一条学生记录(包含学号、姓名、性别、年龄等)就是一个数据元素;而"学号""姓名"等每一个字段就是一个数据项。
(3)数据对象(Data Object)
数据对象是性质相同的数据元素的集合,是数据的一个子集。例如,所有整数的集合构成一个数据对象,所有学生记录的集合也构成一个数据对象。
直观理解:数据对象就是"同一类东西的全体"。
(4)数据结构(Data Structure)
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。简言之,数据结构 = 数据元素的集合 + 元素之间关系的集合。这是四个概念中最核心的一个。
直观理解:数据结构不仅关注"有哪些数据",更关注"数据之间怎么排列、怎么关联"。
2.2 数据结构的三要素
数据结构由以下三要素组成,缺一不可:
| 要素 | 含义 | 说明 |
|---|---|---|
| 逻辑结构 | 数据元素之间的逻辑关系 | 从逻辑上描述数据,与存储无关 |
| 存储结构 | 数据元素及其关系在计算机中的实际存储方式 | 又称物理结构,是逻辑结构在内存中的映像 |
| 数据运算 | 施加在数据上的操作集合 | 运算的定义取决于逻辑结构,运算的实现依赖于存储结构 |
2.3 逻辑结构的分类
逻辑结构描述的是数据元素之间的逻辑关系,与计算机存储无关。按关系类型可分为以下四类:
| 逻辑结构 | 关系特征 | 典型示例 |
|---|---|---|
| 集合 | 数据元素之间除"同属一个集合"外,无其他关系 | 一堆散乱的珠子 |
| 线性结构 | 一对一关系,有且仅有一个开始元素和一个终端元素 | 线性表、栈、队列 |
| 树形结构 | 一对多关系,有层次关系 | 二叉树、B树 |
| 图状结构(网状结构) | 多对多关系,任意两个元素之间都可能有关系 | 社交网络、交通网络 |
【图示说明】:此处应展示四类逻辑结构的示意图。集合:若干散落的圆点;线性结构:圆点排成一行,用箭头依次连接;树形结构:根节点在上,向下分叉展开;图状结构:多个圆点之间有任意方向的连线交织。
2.4 存储结构的分类
存储结构是逻辑结构在计算机中的实现方式,主要有两种基本方式:
| 存储结构 | 实现方式 | 优点 | 缺点 |
|---|---|---|---|
| 顺序存储 | 用一组连续的存储单元依次存储数据元素,逻辑上相邻的元素物理上也相邻 | 支持随机访问,空间利用率高 | 插入/删除需要移动大量元素 |
| 链式存储 | 借助指针表示元素之间的逻辑关系,元素可以存储在任意位置 | 插入/删除灵活,不浪费空间 | 不能随机访问,需要额外指针空间 |
注意:索引存储和散列存储也是常见的存储方式,但它们本质上可以看作上述两种方式的扩展或组合,408大纲中主要考查顺序存储和链式存储。
2.5 数据类型与抽象数据类型
| 概念 | 定义 | 示例 |
|---|---|---|
| 数据类型(Data Type) | 一个值的集合和定义在此集合上的一组操作的总称 | int(值集合:一定范围的整数;操作:+、-、*、/等) |
| 抽象数据类型(ADT) | 一个数学模型及定义在该模型上的一组操作,与具体实现无关 | 线性表ADT、栈ADT、队列ADT |
关键区别:数据类型更关注实现细节(如int占多少字节),抽象数据类型更关注逻辑行为(如栈的"先进后出"特性),不关心底层怎么实现。
三、记忆与理解辅助
技巧1:四概念层次口诀
"据→素→象→构"——数据最大,数据对象是子集,数据元素是基本单位,数据结构是关系。
记忆顺序:数据(总称)→ 数据对象(同类元素的集合)→ 数据元素(基本单位)→ 数据项(最小单位,是元素的组成部分)。注意数据结构不是按大小排,而是强调"关系"。
技巧2:逻辑结构分类对比表
| 维度 | 集合 | 线性 | 树形 | 图状 |
|---|---|---|---|---|
| 关系类型 | 无关系 | 一对一 | 一对多 | 多对多 |
| 开始元素数 | 无要求 | 恰好1个 | 恰好1个(根) | 无要求 |
| 终端元素数 | 无要求 | 恰好1个 | 多个(叶) | 无要求 |
| 典型结构 | 散列集合 | 线性表/栈/队列 | 二叉树/B树 | 图 |
技巧3:"逻辑看关系,存储看位置"
逻辑结构只看数据之间的逻辑关系,不涉及内存;存储结构只看数据在内存中怎么放,是逻辑结构的具体实现。同一个逻辑结构可以有不同的存储结构(如线性表既可以用顺序存储,也可以用链式存储)。
技巧4:数据类型 vs ADT 一句话区分
数据类型 = 值的集合 + 操作 + 具体实现;ADT = 数学模型 + 操作,不关心实现。
四、例题与精解
例题1(基础)
题目:以下关于数据结构的说法中,正确的是( )。
A. 数据元素是数据的最小单位 B. 数据对象是性质不同的数据元素的集合 C. 数据结构的存储结构独立于其逻辑结构 D. 数据结构包括逻辑结构、存储结构和数据运算三要素
命题意图:考查对数据、数据元素、数据项、数据对象、数据结构等基本概念的辨析能力。
解答:
审题分析:逐项判断四个说法的正误,涉及数据基本概念的精确理解。
解题思路:逐一核对每个概念的定义。
完整步骤:
- A项:数据的最小单位是数据项,而不是数据元素。数据元素是数据的基本单位,但还可以再分为数据项。错误。
- B项:数据对象是性质相同的数据元素的集合,而非"不同"。错误。
- C项:存储结构是逻辑结构在计算机中的映像,存储结构的选择依赖于逻辑结构,二者不独立。错误。
- D项:数据结构确实由逻辑结构、存储结构和数据运算三要素组成。正确。
答案:D
方法反思:本题考查的是概念的精确记忆,尤其是"最小单位"与"基本单位"、"相同"与"不同"等关键词。建议制作概念对比卡片进行反复辨析。
例题2(中等)
题目:设有一个描述学生信息的数据结构如下:每个学生包含学号、姓名、性别、年龄四个数据项;所有学生按学号递增顺序排列,形成一个线性序列;该序列在计算机中用一组连续的存储单元存储。请分析:
(1)该数据结构的逻辑结构属于哪种类型?说明理由。 (2)该数据结构的存储结构属于哪种类型?说明理由。 (3)指出该数据结构中数据元素和数据项分别是什么。
命题意图:综合考查对逻辑结构、存储结构、数据元素、数据项等概念的理解与实际应用能力。
解答:
审题分析:题目给出了学生信息系统的具体描述,需要从中提取信息判断逻辑结构和存储结构类型。
解题思路:根据题目关键词"学号递增顺序排列""线性序列"判断逻辑结构,根据"连续的存储单元"判断存储结构。
完整步骤:
(1)逻辑结构属于线性结构。理由:所有学生按学号递增顺序排列,形成线性序列,其中每个学生(除第一个和最后一个外)有且仅有一个前驱和一个后继,满足一对一关系。
(2)存储结构属于顺序存储。理由:数据元素存储在一组连续的存储单元中,逻辑上相邻的元素物理上也相邻,这是顺序存储的典型特征。
(3)数据元素是每条学生记录(即包含一个学生的学号、姓名、性别、年龄的整体)。数据项是学号、姓名、性别、年龄这四个不可再分的字段。
方法反思:判断逻辑结构类型的关键是看数据元素之间的关系类型(一对一/一对多/多对多);判断存储结构的关键是看数据元素在内存中的实际排列方式(连续/不连续+指针)。
五、考情分析
| 分析维度 | 说明 |
|---|---|
| 近5年考查频次 | 约2~3次,多出现在选择题第1~2题 |
| 常见题型 | 选择题为主,偶尔出现在综合题的第一小问 |
| 分值占比 | 选择题2分左右 |
| 命题趋势 | 本单元属于概念辨析类考点,命题通常以"以下说法正确/错误的是"形式出现,考查对基本概念的精确理解。近年趋势是将本单元概念与后续章节(如线性表、树)结合考查,不再是单纯的孤立概念题 |
基于大纲与命题规律推测,待真题分析后校准。
六、易错点提醒
易错点1
- 错误表现:将"数据元素"与"数据项"混淆,认为数据元素是数据的最小单位
- 错误原因:对"基本单位"和"最小单位"两个概念的区别理解不清
- 正确做法:数据元素是数据的基本单位(可以再分),数据项才是最小单位(不可再分)。口诀:"元素能再分,数据项最精"
易错点2
- 错误表现:认为数据对象是"性质不同的数据元素的集合"
- 错误原因:将"相同"记成"不同",或对数据对象的定义理解不准确
- 正确做法:数据对象必须是性质相同的数据元素的集合。例如,所有整数构成一个数据对象,但整数和字符的混合集合不是数据对象
易错点3
- 错误表现:认为同一逻辑结构只能对应一种存储结构
- 错误原因:混淆逻辑结构与存储结构的关系
- 正确做法:逻辑结构与存储结构是多对多的关系。同一逻辑结构可以有不同的存储结构(如线性表既可用顺序存储也可用链式存储),同一存储结构也可以表示不同的逻辑结构
易错点4
- 错误表现:将"抽象数据类型"等同于"数据类型"
- 错误原因:未理解ADT中"抽象"的含义——与具体实现无关
- 正确做法:ADT强调的是数学模型和操作的行为规范,不涉及实现细节;数据类型则包含了具体的实现信息(如存储大小、编码方式等)
七、来源标注
- 依据2026考研统考大纲(408计算机学科专业基础综合·数据结构部分)
- 依据《数据结构(C语言版)》严蔚敏版第一章基本概念
- 依据大学本科经典教材共识