Skip to content

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语言版)》严蔚敏版第一章基本概念
  • 依据大学本科经典教材共识

考研全科复习资料 - 基于2026考研统考大纲