试题详情
简答题什么是线性结构?什么是非线性结构?举例说明。
  • 线性结构与非线性结构是针对数据的逻辑结构而言的。它们的主要区别是:线性结构表示的是数据元素之间一对一的关系,而非线性结构表示的是数据元素之间一对多或多对多的关系。线性结构具有以下特点:
    ① 存在唯一的没有前驱、只有一个直接后继的“头”元素;
    ② 存在唯一的没有后继、只有一个直接前驱的“尾”元素;
    ③ 除了“头”元素和“尾”元素之外,集合中的每个元素有且只有一个直接前驱、 有且只有一个直接后继。
    由以上特点可以看出,线性结构中的数据元素之间存在一对一的关系,结构中的数据 元素依照它们的逻辑关系可以排成一个有“头”、有“尾”的序列。例如,前面所说的农历节气表,就是一个线性结构,它是一个从“春分”开始,然后是“雨水”,…,最后是“大寒”。这样一个序列。
    除线性结构以外的结构称为非线性结构。在非线性结构中,各数据元素的关系不一定 保持一个线性序列,每个数据元素可能与零个或多个数据元素有联系。也就是说,非线性结构中的数据元素之间存在一对多或者是多对多的关系。
    例如,一个学校的教学组织关系可以构成一个有明显层次的数据结构:学校下属有若干学院,每个学院下设若干个系,每个系有多个研究所和教研组,有若干的学生班,这个一对多的关系的抽象就是非线性结构。
    又如,对一个销售系统的各个连锁店及相互之间的联系的抽象是一个非线性结构,这个数据结构中的数据元素是各连锁店,数据元素之间的关系是各连锁店之间的联系,因为各连锁店之间都可以有联系,显然各连锁店之间的联系是多对多的联系。也就是说,每一个连锁店都可以与其余多个连锁店发生联系。这个结构也是非线性结构。
  • 关注下方微信公众号,在线模考后查看

热门试题