1.形式
类似于 A(B,C(D,E),F)
2.广义表的存储
链表。每个节点的结构为:
type: 0表示附加头节点,1表示原子节点,2表示子表节点
data: type=0时存放引用计数,1时存放data,2时存放指向子表表头的指针。
link: type=0时存放指向该表表头元素节点的指针, !=0时存放指向同一层下一个表结点的地址。
3.广义表的递归算法
1)复制算法
有三层考虑:
如果被复制结点为空,说明被复制广义表为空表,返回空;如果非空,处理该结点的复制,如果type=2,要递归复制该结点;处理完这个点之后要复制广义表中位于该结点之后的结点。
2)求深度
3)两个广义表是否相等
4)删除算法
思路都是处理完当前的之后递归处理,同时要注意type的值。