树的存储结构

双亲表示法

在每个元素中分为数据域和双亲域,其中双亲域表明了该元素的父元素的位置

特点:找双亲容易,找孩子难。

孩子链表

把每个节点的孩子的指针组成一个链表

特点:找孩子容易,找双亲难

孩子兄弟表示法(二叉树表示法,二叉链表表示法)

树与二叉树的转换

树转二叉树

  • 在兄弟之间加线
  • 对每个结点,除了其左孩子,去除与孩子的联系

二叉树转树

  • 把每个左孩子的右孩子和右孩子的右孩子…沿着分支找到所有的右孩子,与双亲连起来
  • 抹去原二叉树中双亲和右孩子的连线

森林转二叉树

分别把每棵树转化为二叉树后,头节点连起来

二叉树转森林

将二叉树的根节点与所有沿着右分支的右孩子连线全部抹掉