数据结构(Data Structure)

数据结构基础总览

数据结构基础总览

把“数据、数据元素、逻辑结构、存储结构”这四个概念,放进同一张知识地图里去理解: 先看“是什么”,再看“彼此之间怎么组织”,最后看“在计算机里怎么存”。

从“数据”到“数据结构”

数据本身只是符号的集合;当这些符号被拆分成有意义的基本单位,并且这些单位之间建立起稳定关系, 才真正进入“数据结构”的研究范围。

第一层 数据 对数字、文字、图像、状态等客观信息的记录,本质上是“可识别的符号”。
12
A
温度
红灯
ID
第二层 数据元素 把零散符号组合成可整体处理的单位,例如“一名学生的信息”“一条订单记录”。
姓名
学号
成绩
第三层 逻辑结构 研究数据元素之间“有什么关系”,例如是否是一对一、一对多或多对多,但不关心它们在内存中的具体位置。
第四层 存储结构 研究这些数据元素在计算机中的实际存放方式,例如连续存放、用指针连接,或借助索引与哈希来定位。

核心判断题

学数据结构时,最关键的问题不是“这是什么名字”,而是连续追问下面三件事:

1. 元素是什么?

  • 基本单位是什么
  • 是单个数、记录,还是一个对象
  • 处理时是否把它当整体

2. 元素之间什么关系?

  • 有没有前后次序
  • 是一个带多个后继,还是多个互相连接
  • 是线性、树形,还是图形

3. 在内存中怎么表示?

  • 连续存放还是分散存放
  • 靠位置找,还是靠指针找
  • 是否要借助索引或哈希

4. 适合什么操作?

  • 查找快还是插入快
  • 顺序访问方便还是灵活连接方便
  • 算法设计会受哪种结构影响

逻辑结构:元素之间“怎么联系”

逻辑结构只关心关系,不关心这些元素在内存里放在哪里。下面四类是最基础、最常见的逻辑结构。

集合

元素只表示“同属一个整体”,元素之间没有顺序、层次或连接方向。

线性结构

一个元素通常只对应一个直接前驱和一个直接后继,像排队一样一对一连接。

树形结构

一个元素可以引出多个后继,形成层次分明的“一对多”关系。

图形结构

元素之间可能出现多对多连接,关系最灵活,常用于网络、交通、社交等场景。

存储结构:元素在计算机中“怎么放”

同一种逻辑结构,可以用不同的物理方式去实现。点击下面按钮,可以切换查看顺序存储和链式存储。

顺序存储:元素通常连续放在一片内存区域中,逻辑上的相邻,往往也对应存储上的相邻。

8
12
15
21
34

特点:按下标访问快、结构紧凑;但中间插入或删除时,往往需要移动后续元素。

索引存储 / 哈希存储:除了原始数据,还额外建立“查找入口”,让定位更快。

101
→3
H7

特点:牺牲一部分额外空间,换来更快的定位能力,适合查找需求强的场景。

一句话串起来

数据 是客观信息的符号化记录。
数据元素 是构成数据的基本处理单位。
逻辑结构 回答“元素之间是什么关系”。
存储结构 回答“这些关系在计算机里怎么实现”。