广义表有如下三个特性:
1.层次性:广义表的元素可以是子表,而子表的元素还可以是子表,由此,广义表是一个多层次的结构;
2.共享性:广义表可为其他表所共享。
3.递归表:广义表可以是其自身的一个子表。
空广义表 vs 广义表表头为空
广义表的表头为空,并不代表该广义表为空表。
例如:
广义表()和(())不同。前者是长度为0的空表,对其不能做求表头和表尾的运算;而后者是长度为l的非空表(只不过该表中惟一的一个元素是空表),对其可进行分解,得到的表头和表尾均是空表()
其它特性
在(非空)广义表中:
- 表头head可以是原子或者一个表
- 表尾tail一定是一个表