Skip to content

数据结构的基本概念

核心思想

基本概念和术语

术语定义示例
数据信息的载体,能被计算机识别和处理的符号集合数字、字符、图像
数据元素数据的基本单位,通常作为整体处理一条学生记录
数据项构成数据元素的不可分割的最小单位学号、姓名、性别
数据对象性质相同的数据元素的集合,是数据的子集整数集合 N =

层次关系:数据 ⊃ 数据对象 ⊃ 数据元素 ⊃ 数据项

数据类型

数据类型是一个值的集合以及定义在该集合上的一组操作的总称。

类型定义示例
原子类型值不可再分int、float、char
结构类型值可分解为若干成分struct、数组
抽象数据类型(ADT)数学模型 + 定义在其上的一组操作栈 ADT、队列 ADT

ADT 的核心是封装——使用者只需知道"能做什么操作",不需要知道"怎么存储、怎么实现"。

数据结构三要素

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。一个完整的数据结构包含三个要素:

1. 逻辑结构

逻辑结构描述数据元素之间的逻辑关系,与存储方式无关。

逻辑结构元素间关系示例
集合同属一个集合,无其他关系
线性结构一对一线性表、栈、队列
树形结构一对多二叉树、堆
图状结构多对多有向图、无向图

2. 存储结构(物理结构)

存储结构是逻辑结构在计算机中的具体实现,依赖于编程语言。

存储结构原理优点缺点
顺序存储逻辑相邻 → 物理相邻随机存取,密度大需要连续空间,可能产生外部碎片
链式存储用指针表示逻辑关系无碎片,充分利用空间指针占额外空间,只能顺序存取
索引存储额外建立索引表(关键字+地址)检索快索引表占额外空间,增删需维护索引
散列存储由关键字直接计算存储地址增删查都快散列冲突需要额外处理

3. 数据的运算

运算包括定义实现两个层面:

  • 定义针对逻辑结构,描述运算的功能(做什么)
  • 实现针对存储结构,描述具体的操作步骤(怎么做)

同一种逻辑结构,选择不同的存储结构,同一运算的实现效率可能完全不同。比如线性表的"按位查找":顺序存储 O(1),链式存储 O(n)。

辨析:逻辑结构 vs 存储结构

概念属于说明
顺序表存储结构线性表的顺序存储实现
链表存储结构线性表的链式存储实现
有序表逻辑结构关键字有序的线性表,可以顺序存储也可以链式存储
哈希表存储结构散列存储的实现

这个辨析是选择题高频考点——"有序表"描述的是元素之间的逻辑关系(有序),不涉及具体存储方式,因此属于逻辑结构。

考研高频考点

  • ⭐ 数据结构三要素是什么(选择题必考)
  • ⭐ 逻辑结构的四种类型(集合、线性、树形、图状)
  • ⭐ 四种存储结构的特点及优缺点(选择题/简答题)
  • ⭐ 有序表属于逻辑结构还是存储结构(选择题经典陷阱)
  • 数据、数据元素、数据项、数据对象的层次关系
  • ADT 的核心特征:抽象性和封装性
  • 逻辑结构独立于存储结构,存储结构依赖于逻辑结构

易错:数据的逻辑结构独立于其存储结构——同一种逻辑结构可以有多种存储实现;但存储结构不能独立于逻辑结构——存储结构是逻辑结构在计算机中的映射。

易错:二叉树和二叉排序树的逻辑结构、物理结构可以完全相同,区别在于运算的定义不同(比如查找操作的时间复杂度不同)。这说明运算也是数据结构不可或缺的要素。

相关知识