数据结构中,形如 B=(D,R) 的定义方式,仅用于描述数据的逻辑结构,与计算机内存的物理存储方式无关。
一、逻辑结构官方分类标准
- 数据的逻辑结构 ++仅有两大分类++ ,分别为线性结构、非线性结构,其中非线性结构包含树结构与图结构。
- 循环链表、循环队列不属于逻辑结构的范畴,二者是数据在计算机内存中的存储实现形式,属于存储结构。因此在求解 B=(D,R) 类型题目时,可直接排除循环链表、循环队列相关选项。
本节核心考点为区分逻辑关系闭环与物理存储循环,二者判定规则不同,是高频易错知识点,结合典型例题解析如下。
例1:标准线性结构
数据元素集合:D = {x,y,z}
逻辑关系集合:R = {(x,y), (y,z)}
逻辑结构图示:x → y → z结构特征:
- 存在唯一起始结点 x,无前置结点;
- 存在唯一终端结点 z,无后置结点;
- 中间结点满足一对一映射关系,无分支、无回路。
结构判定 :符合线性结构定义,属于线性结构。
例2:逻辑闭环非线性结构
数据元素集合:D = {x,y,z}
逻辑关系集合:R = {(x,y), (y,z), (z,x)}
逻辑结构图示:x → y → z → x结构特征:
- 元素之间形成闭合回路,无明确的起始结点与终端结点;
- 打破线性结构一对一的有序映射规则,满足图结构多对多关系特征。
结构判定 :存在逻辑回路,属于非线性结构。
通用解题判定准则
- 若逻辑关系集合 R 无回边、无闭合回路,元素满足一对一有序排布,存在唯一首尾结点,判定为线性结构;
- 若逻辑关系集合 R 存在回边、形成闭合回路,无固定首尾结点,判定为非线性结构;
- 循环链表、循环队列为存储结构,不属于逻辑结构分类,所有 B=(D,R) 逻辑结构题目均需排除此类选项。