吴文国《数据结构精品教学》xxchapter05第五章数组与广义表.pptVIP

  • 1
  • 0
  • 约6.87千字
  • 约 76页
  • 2018-05-13 发布于浙江
  • 举报

吴文国《数据结构精品教学》xxchapter05第五章数组与广义表.ppt

(5)递归表、再人表、纯表、线性表之间的关系满足 广义表不仅是线性表的推广,也是树的推广。 3、广义表运算 ???  由于广义表是对线性表和树的推广,并且具有共享和递归特性的广义表可以和有向图(见第7章)建立对应,因此广义表的大部分运算与这些数据结构上的运算类似。 ???  在此,只讨论广义表的两个特殊的基本运算:取表头head(Ls)和取表尾tail(Ls)。 ???  根据表头、表尾的定义可知:任何一个非空广义表的表头是表中第一个元素,它可以是原子,也可以是子表,而其表尾必定是子表。 【例】 ???? head(L)=a, tail(L)=(b) ????? head(B)=A, tail(B)=(y) ? 由于tail(L)是非空表,可继续分解得到: ????? head(tail(L))=b, tail(tail(L))=() ? 对非空表A和(y),也可继续分解。 ? 注意: ???  广义表()和(())不同。前者是长度为0的空表,对其不能做求表头和表尾的运算;而后者是长度为l的非空表(只不过该表中惟一的一个元素是空表),对其可进行分解,得到的表头和表尾均是空表()。 广义表的存储结构 tag=1 hp tp tag=0 atom typedef enum{ATOM,LIST} ElemTag; typedef struct GLNode { ElemTa

文档评论(0)

1亿VIP精品文档

相关文档