广义表的定义:
在广义表中约定:
① 第一个元素是表头,而其余元素组成的表称为表尾;
② 用小写字母表示原子类型,用大写字母表示广义表。
广义表与线性表的区别和联系?
广义表中元素既可以是原子类型,也可以是广义表; 当每个元素都为原子且类型相同时,就是线性表。
特点:
特别提示:任何一个非空表,表头可能是原子,也可能是广义表;但表尾一定是广义表。
两种特殊的基本操作:
GetHead( L) ——取表头(可能是原子或列表);
GetTail(L ) ——取表尾(一定是列表) 。
例如:
广义表可以采用顺序存储结构吗?
由于广义表中的数据元素的类型不统一,因此难以采用顺序存储结构来存储。
如何采用链接存储结构存储广义表?
若广义表不空,则可分解为表头和表尾;反之,一对确定的表头和表尾可唯一地确定一个广义表。
广义表的存储结构——头尾表示法