[数据结构复习]广义表

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的值。


你可能感兴趣的:(元素)