树的存储和二叉树化与还原
树的存储结构
双亲表示法
在每个元素中分为数据域和双亲域,其中双亲域表明了该元素的父元素的位置
特点:找双亲容易,找孩子难。
孩子链表
把每个节点的孩子的指针组成一个链表
特点:找孩子容易,找双亲难
孩子兄弟表示法(二叉树表示法,二叉链表表示法)
树与二叉树的转换
树转二叉树
- 在兄弟之间加线
- 对每个结点,除了其左孩子,去除与孩子的联系
二叉树转树
- 把每个左孩子的右孩子和右孩子的右孩子…沿着分支找到所有的右孩子,与双亲连起来
- 抹去原二叉树中双亲和右孩子的连线
森林转二叉树
分别把每棵树转化为二叉树后,头节点连起来
二叉树转森林
将二叉树的根节点与所有沿着右分支的右孩子连线全部抹掉