树的基本概念及算法
基本概念:
某个结点的度:该结点的子树个数;
树的度:该树中的任意结点的度的最大值;
高度:叶子结点高度为1,根结点高度最高;
森林:多个树组成。
n个结点的二叉树,有2n个链域(左一个,右一个),非空链域n-1个,空链域n+1个。
树的子树的个数没有限制(但是子树之间一定没有相交)。
树的转换:
树—>二叉树:3步(临时只写最后一步):第一个孩子是该结点的左孩子,该结点的兄弟转换为右孩子。
森林—>二叉树:森林的每棵树(分别转换)—>二叉树—>组合成一颗二叉树:将后一颗二叉树的根结点转换为前一颗二叉树根结点的右孩子。
二叉树—>树:1加线.将某个结点的左孩子的所有右孩子(包括右孩子的右孩子)全都与该结点用线连接;2去线:将原二叉树所有结点与其右孩子的连线去掉;3调整层次。
二叉树的创建以及遍历:
建立: