试题详情
- 简答题什么是线性结构?什么是非线性结构?举例说明。
- 线性结构与非线性结构是针对数据的逻辑结构而言的。它们的主要区别是:线性结构表示的是数据元素之间一对一的关系,而非线性结构表示的是数据元素之间一对多或多对多的关系。线性结构具有以下特点:
① 存在唯一的没有前驱、只有一个直接后继的“头”元素;
② 存在唯一的没有后继、只有一个直接前驱的“尾”元素;
③ 除了“头”元素和“尾”元素之外,集合中的每个元素有且只有一个直接前驱、 有且只有一个直接后继。
由以上特点可以看出,线性结构中的数据元素之间存在一对一的关系,结构中的数据 元素依照它们的逻辑关系可以排成一个有“头”、有“尾”的序列。例如,前面所说的农历节气表,就是一个线性结构,它是一个从“春分”开始,然后是“雨水”,…,最后是“大寒”。这样一个序列。
除线性结构以外的结构称为非线性结构。在非线性结构中,各数据元素的关系不一定 保持一个线性序列,每个数据元素可能与零个或多个数据元素有联系。也就是说,非线性结构中的数据元素之间存在一对多或者是多对多的关系。
例如,一个学校的教学组织关系可以构成一个有明显层次的数据结构:学校下属有若干学院,每个学院下设若干个系,每个系有多个研究所和教研组,有若干的学生班,这个一对多的关系的抽象就是非线性结构。
又如,对一个销售系统的各个连锁店及相互之间的联系的抽象是一个非线性结构,这个数据结构中的数据元素是各连锁店,数据元素之间的关系是各连锁店之间的联系,因为各连锁店之间都可以有联系,显然各连锁店之间的联系是多对多的联系。也就是说,每一个连锁店都可以与其余多个连锁店发生联系。这个结构也是非线性结构。 关注下方微信公众号,在线模考后查看
热门试题
- 设有10阶矩阵A,其对角线以上的元素a<
- 已知一关键码序列为:3,87,12,61
- 对待排序的元素序列进行划分,将其分为左、
- 在下面冒泡排序算法中填入适当内容,以使
- 前序遍历和中序遍历结果相同的二叉树是()
- 用5个权值{3,2,4,5,1}构造的哈
- 把下列森林转换为二叉树。
- 算法在发生非法操作时可以作出处理的特性称
- 数据结构里,算法是对()求解步骤的描述。
- 设图的邻接链表如下图所示,则该图有()条
- 在一棵二叉树中,若编号为i的结点存在左孩
- 下面的排序算法中,不稳定的是()
- 含有3个2度结点和4个叶结点的二叉树可含
- 二维数组A的每个元素是由6个字符组成的串
- 由带权为9,2,5,7的四个叶子结点构造
- 哈希函数是记录关键字的值与该记录()之间
- 已知8个元素(34,76,45,18,2
- 哈夫曼树
- 如下选项陈述中正确的是()
- 在一裸二叉排序树上按()遍历得到的结点序