记:今天做到pat1004题,读完题发现是个关于树的题目,而我之前对树没有了解,但是内心又比较害怕就对树产生了排斥的心理,从今天开始学习树,攻克弱点。
一、常用的概念和性质
1、树可以无结点,为空树
2、树的层次从根结点开始,根结点为第一层,以此类推
3、结点的度:该结点的子树的个数;
树的度:树的所有结点中最大的度;
4、因为树中不存在环,且一条边连接两个顶点。所以n个结点的树定有n-1条边。也即满足连通,边数等于顶点数减1的结构定是树
5、叶子结点的度为0,当树中只有一个结点是时,根结点也算作叶子结点
6、结点的深度:从根结点开始自顶向下逐层累加到该结点时的深度值;
结点的高度:从最底层开始自下向上逐层累加到该结点时的高度值;
树的深度:树中结点的最大深度;
树的高度:树中结点的最大高度;
树的高度=树的深度;但是具体到某一个结点就不一定相等了。
7、多棵树组合在一起称为森林,也即森林是若干棵树的集合。
注:第1,5点经常被用来出边界数据
二、二叉树的递归定义
二叉树中任何一个结点的左子树既可以是一颗空树,也可以是一课有左子树和右子树的二叉树;结点的右子树也既可以是一颗空树,又可以是一棵有左子树和右子树的二叉树,这样直到递归边界。
三、两种特殊二叉树
1、满二叉树:每一层的结点个数都达到了当层的最大结点数
2、完全二叉树:除了最下面的一层外其余结点都达到了当层的最大结点数,且最下面一层只能从左到右连续存在若干结点。
3、满二叉树一定是完全二叉树,反过来却不一定