设数据结构 B=(D, R) ,其中
D={ a, b, c, d, e, f }
R={ (a, b ) , (b, c ) , (c, d ) , (d, e), (e, f), (f, a) }
该数据结构为( )。
数据的逻辑结构有两个要素:一是数据元素的集合,通常记为 D ;二是 D 上的关系,它反映了 D 中各数据元素之间的前后件关系,通常记为 R 。即一个数据结构可以表示成 B= ( D,R )。其中 B 表示数据结构。为了反映 D 中各数据元素之间的前后件关系,一般用二元组来表示。例如,假设 a 与 b 是 D 中的两个数据,则二元组( a,b )表示 a 是 b 的前件, b 是 a 的后件。 如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。如果一个数据结构不是线性结构,则称之为非线性结构。 本题数据结构中没有根结点,因此它是非线性结构。故本题答案为 A 选项。
数据的逻辑结构可以炕桌从具体问题抽象出来的数据模型,与数据的存储无关,独立于计算机。将客观世界数据对象之间的关系可归纳为以下4中逻辑结构
1. 集合结构
2. 线性结构
3. 树形结构
4. 网状(图)结构
一种数据结构需要两个元素
1. 数据元素的集合 2. 关系的集合 最后可得Data_Structure={D,R},其中D是数据元素的有限集,R是D上的关系有限集。数据的逻辑结构可以看作集合论中关系理论的扩展
题中 B=(D, R) 的集合都是节点,每个结点表示(当前结点地址,下一个指向的结点地址)。题中的(a,b)和(f,a)是前后将的表达形式,不符合根节点的条件,所以是非线性结构
D={ a, b, c, d, e, f } R={ (a, b ) , (b, c ) , (c, d ) , (d, e), (e, f), (f, a) }