线性结构 VS 非线性结构

Abstract:线性结构时有序元素的集合,元素间一一对应。非线性结构中的各元素不保持在一个线性序列,元素关系比较复杂。

数据结构

线性结构:有序数据元素的集合,数据元素间是一一对应的线性关系,除第一个和最后一个元素外其他所有数据元素都是首尾相连的。如线性表,栈,队列,双队列,数组,串。

非线性结构:各元素不保持在一个线性序列中的结构,每个数据元素可能与0个或N个其他数据元素发生联系。根据联系不同,可分为层次结构和群结构。如二维数组,多维数组,广义表,树(二叉树),图。

如多维数组是由多个一维数组组成的,所以不再是线性结构。

相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。

解决问题的效率与算法的简便程度 + 空间利用率 + 数据的组织方式有关。

评价一个算法的好坏的标准:空间复杂度S(n):占用存储单元的长度;时间复杂度T(n):耗费时间的长度,时间与空间都与n有关。

Thanks!