试题详情
- 简答题什么是线性结构?什么是非线性结构?举例说明。
- 线性结构与非线性结构是针对数据的逻辑结构而言的。它们的主要区别是:线性结构表示的是数据元素之间一对一的关系,而非线性结构表示的是数据元素之间一对多或多对多的关系。线性结构具有以下特点:
① 存在唯一的没有前驱、只有一个直接后继的“头”元素;
② 存在唯一的没有后继、只有一个直接前驱的“尾”元素;
③ 除了“头”元素和“尾”元素之外,集合中的每个元素有且只有一个直接前驱、 有且只有一个直接后继。
由以上特点可以看出,线性结构中的数据元素之间存在一对一的关系,结构中的数据 元素依照它们的逻辑关系可以排成一个有“头”、有“尾”的序列。例如,前面所说的农历节气表,就是一个线性结构,它是一个从“春分”开始,然后是“雨水”,…,最后是“大寒”。这样一个序列。
除线性结构以外的结构称为非线性结构。在非线性结构中,各数据元素的关系不一定 保持一个线性序列,每个数据元素可能与零个或多个数据元素有联系。也就是说,非线性结构中的数据元素之间存在一对多或者是多对多的关系。
例如,一个学校的教学组织关系可以构成一个有明显层次的数据结构:学校下属有若干学院,每个学院下设若干个系,每个系有多个研究所和教研组,有若干的学生班,这个一对多的关系的抽象就是非线性结构。
又如,对一个销售系统的各个连锁店及相互之间的联系的抽象是一个非线性结构,这个数据结构中的数据元素是各连锁店,数据元素之间的关系是各连锁店之间的联系,因为各连锁店之间都可以有联系,显然各连锁店之间的联系是多对多的联系。也就是说,每一个连锁店都可以与其余多个连锁店发生联系。这个结构也是非线性结构。 关注下方微信公众号,在线模考后查看
热门试题
- 设以带头结点的双向循环链表表示的线性表L
- 顺序存储的线性表,设其长度为n。在任何位
- 若二叉树用二叉链表作存贮结构,则在n个结
- 广度遍历
- 数组是一种静态的存储空间分配,就是说,在
- 堆排序属于下列哪类排序?()
- 计算机识别,存储和加工处理的对象被统称为
- 若把整个广义表也看为一个表结点,则该结点
- 链表是采用链式存储结构的线性表,进行插入
- 图的遍历有:()和广度优先搜等方法。
- 物理结构(存储结构)
- 数据结构里,以下属性中,是算法的特性的是
- 对一个算法的评价,不包括如下()方面的内
- 某内排序方法的稳定性是指()。
- 一棵二叉树中每一个非叶结点的度数都为2,
- 树形结构是数据元素之间存在一种()。
- 关键活动不按期完成就会影响整个工程的完成
- 堂兄弟
- 算法分析的两个主要方面是()。
- 递归的算法简单、易懂、容易编写,而且执行