树的存储结构

对于一般的树,我们很难用二叉链表存储结构,于是有几个更通用的存储结构。

双亲表示法

双亲表示法是利用了树的每个节点只有一个双亲节点的特性,通过数组结构既可实现。这种结构利于向上寻找节点,但是向下寻找时不方便。

采用一组连续空间存储树的结点,通过保存每个结点的双亲结点的位置,表示树中结点之间的结构关系。

孩子表示法

孩子表示法是利用了线性链表的形式存储。对于一个双亲节点,包含一个指向第一个孩子的指针,而每个孩子节点包含一个指向下一个孩子的指针,通过一个数组存放双亲节点,既可以构造树。

双亲孩子表示法

结合上面两种存储方法,将孩子表示法的数组上加上每个节点的双亲节点指针,形成双亲孩子表示法。既能向上找双亲,也能向下找孩子。

孩子兄弟表示法

利用类似于二叉树的结构表示,以二叉链表为存储结构,左侧指针指向该结点的第一个孩子节点,右侧指针指向其下一个兄弟节点。

与二叉树的存储表示一样,但含义不同。

链接到