(五)、广义表的特性

  1. 广义表中的数据元素是有相对次序的。
  2. 广义表的长度定义为最外层包含元素的个数
  3. 广义表的深度定义为所含括弧的重数,其中原子的深度为0,空表的深度为1
  4. 广义表可以共享,一个广义表可以被其他广义表共享,这种共享广义表称为再入表
  5. 广义表可以是一个递归的表,一个广义表可以是自己的子表,这种广义表称为递归表。递归表的深度是无穷值,而长度是有限值

数据结构(知识点碎片十四)_结点

表头 (Head) 和表尾 (Tail) :当广义表非空时,第一个元素为广义表的表头,其余元素组成的表是广义表的表尾。
GetHead(B)=d     GetTail(B)=(e)    加括号表示e的广义表
GetHead(D)=B    GetTail(D)=(C)    加括号表示C的广义表
GetHead((a)) =(a)    GetTail((a)) = ( )


(六)、广义表的存储结构

  • 头尾链表存储结构

数据结构(知识点碎片十四)_树_02

1代表广义表结点,0代表原子结点

数据结构(知识点碎片十四)_结点_03

  • 扩展线性表存储结构

数据结构(知识点碎片十四)_树_04


十二、树和二叉树

(一)、树的基本概念

(tree)是由n(n≥0)个结点(或元素)组成的有限限集合(记为T)。
如果n=0,它是一棵空树,这是树的特例;
如果n>0,这n个结点中有且仅有一个结点作为树的
根结点,简称为(root),其余结点可分为m(m≥0)个互不相交的有限集 T、,Tz,…,Tm,其中每个子集本身又是一棵符合本定义的树,称为根结点的子树(subt ree)。