目录
有序树:树中结点的各子树从左到右是有次序的(不能互换)。反之为无序树。
二叉树
由一个根结点及两个不相交的左、右子树组成的非空树,左、右子树又同样都是二叉树。
在一棵非空的二叉树中,每个结点至多只有两棵子树(左子树、右子树),且左、右子树的次序不能任意交换。(特殊的有序树)
满二叉树:深度为h,且有个结点的二叉树。
完全二叉树:深度为h,有n个结点的二叉树,当且仅当每一个结点都与深度为h的满二叉树中的编号从1至n的结点一一对应时,此二叉树为完全二叉树。
一、树转换二叉树
步骤:
1、连线:连接树中所有相邻的亲兄弟之间联系。
2、删线:打断父结点与非长子结点之间的连线。
(a)一般树
(b)连接相邻亲兄弟结点 (c)删去父结点与非长子结点的连线
(d)二叉树
二、森林转换二叉树
步骤:
1、将森林中每棵树转换为相应的二叉树。
2、第1棵二叉树保持不动,从第2棵二叉树开始,依次把后一棵二叉树的根节点作为前一棵二叉树根结点的右子树,直到最后一棵二叉树结束。
(a)森林 (b)森林中每棵树转换为二叉树
(c)合并二叉树森林
三、二叉树转换树
步骤:
1、若某结点是其父结点的左孩子,则把该结点的右孩子、右孩子的右孩子,直到最后一个右孩子都与该结点的父结点连接起来,如图(a)-(b)。
2、删除原二叉树中所有的父结点与右孩子的连线,如图(c)。
四、二叉树转换森林
步骤:
1、若某结点是其父结点的左孩子,则把该结点的右孩子、右孩子的右孩子,直到最后一个右孩子都与该结点的父结点连接起来,如图(a)-(b)。
2、删除原二叉树中所有的父结点与右孩子的连线,如图(c)。