逻辑结构是面向问题的抽象描述,描述数据元素之间的逻辑关系(即"什么和什么相邻"),不涉及数据在计算机中如何存储。
按数据元素之间关系的复杂程度,分为四类:
逻辑结构描述的是"关系"而非"存储方式"。例如栈和队列,尽管操作受限(LIFO/FIFO),但元素间的逻辑关系仍是一对一的线性关系;二叉树是树形结构;社交网络、路网是图形结构。
| 结构类型 | 元素关系 | 前驱个数 | 后继个数 | 典型示例 |
|---|---|---|---|---|
| 集合 | 无关系 | — | — | 散列存储的元素 |
| 线性 | 一对一 | $\leq 1$ | $\leq 1$ | 线性表、栈、队列 |
| 树形 | 一对多 | $=1$(根无) | $\geq 0$ | 二叉树、B 树 |
| 图形 | 多对多 | $\geq 0$ | $\geq 0$ | 社交网络、路网 |
| 考法 | 解题套路 |
|---|---|
| 判断结构类型 | 无关系→集合,一对一→线性,一对多→树形,多对多→图形 |
| 逻辑 vs 存储 | 逻辑=关系抽象;存储=内存实际布局 |
| 选择题辨析 | "顺序表"是存储结构,"线性表"是逻辑结构 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。