首页 > 代码库 > 树与二叉树的转换

树与二叉树的转换

1.树转换为二叉树

    1.在树中所有相同双亲结点的兄弟节点之间加一条线;

     2.对树中不是双亲结点第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线

     3.整理所有保留的和添加的连线,使每个结点的第一个孩子节点连线位于左孩子指针位置,使每个结点的右兄弟结点连线位于右孩子指针位置。



2.二叉树还原为树

二叉树还原为树的方法:

 1.若某结点是其双亲结点的左孩子,则把该节点的右孩子,右孩子的右孩子......都与该结点的双亲结点用线连起来

  2.删除原二叉树中所有双亲结点与右孩子的连线

 3.整理所有保留的和添加的连线,使每个结点的所有孩子结点位于相同的树层次


3.树的遍历

先根遍历,后根遍历

先根遍历:

1.访问根结点;2.按照从左到右的次序先根遍历根结点的每一颗子树


后根遍历:

1.按照从左到右的次序后根遍历根结点的每一棵子树

2.访问根结点


注意:

1.树的先根遍历序列一定和该树转换的二叉树的前序遍历序列相同。

2.树的后根遍历序列一定和该树转换的二叉树的中序遍历序列相同











树与二叉树的转换