广义表
1. 定义
广义表是线性表的推广,是由0个或多个单元素或子表组成的有序序列。
广义表一般记为:LS=(α1,α2,…αn),其中αi(1<=i<=n)既可以是单个元素,又可以是广义表,分别称为原子和子表。
2. 广义表与线性表区别
线性表的元素都是结构上不可分的单元素,而广义表的元素既可以是单元素,也可以是有结构的表。
3. 长度
广义表的长度指广义表中元素的个数。
如:L=((a,b,c),e)的长度是2。
4. 深度
广义表的深度是指广义表展开后所含的括号的最大层数。
如:L=((a,b,c,d),(e,f))的深度是2。
5. 特点
(1)广义表可以是多层次的结构,因为广义表的元素可以是子表,而子表的元素还可以是子表。
(2)广义表中的元素可以是已经定义的广义表的名字,所以一个广义表可被其他广义表所共享。
(3)广义表可以是一个递归的表,即表中的元素也可以是本广义表的名字。
6. 存储结构
由于广义表中的元素本身又可以具有结构,它是一种带有层次的非线性结构,因此难以用顺序储存结构表示,通常采用链式储存结构。