0 Preview

书接上回,这一篇

1 逻辑结构

1 集合 无关系
2 线性结构 一对一 有序
3 树形结构 一对多 开始元素唯一,终端元素不唯一
4 图形结构 多对多 所有元素都可能有多个前驱元素和多个后继元素

数据的逻辑结构是面向用户的,可以用图表和二元组表示。
二元组:二元组:B=(D,R)
B 是一种数据结构,他由数据元素的集合 D 和 D上二元关系的集合 R 所组成。其中:
数据元素的集合关系的集合(1)D=di|1<=i<=n,n>=0;数据元素的集合 R=rj|1<=j<=m,m>=0;关系的集合

序偶<x,y>(x,y∈D) x为第一元素,y为第二元素。
x为y的前驱元素。
y为x的后继元素。
若某个元素没有前驱元素,则称该元素为开始元素;若某个元素没有后继元素,则称该元素为终端元素。
序偶<x,y>表示x、y是有向的,序偶(x,y)表示x、y是无向的

2 存储结构表示

🚪 数据逻辑结构在计算机中的存储表示称为数据的存储结构,也称为物理结构。
共有四种存储结构:

🚚顺序存储结构 — 结构体数组:
— 所有元素占用一整块内存空间。
— 逻辑上相邻的元素,物理上也相邻。
🚚链式存储结构 — 链表:
— 一个逻辑元素用一个结点存储,每个结点单独分配,所有结点的地址不一定是连续的。
— 用指针来表示逻辑关系。
🚚索引存储结构 — 主数据表 + 索引表
— 通过索引表按关键字查找速度快
— 增加索引表 ➡️ 存储空间较大
🚚哈希(散列)存储结构 — 哈希函数 + 解决冲突方法
— 按关键字查找速度快
— 需要解决冲突
— 但不非适合任何数据的存储

3 数据运算

数据运算是对数据实施的操作。分为 运算定义 和 运算实现。

同一逻辑结构可以对应多种存储结构。
同样的运算,在不同的存储结构中,其实现过程是不同的。

image-20210902215706966