二叉树有关知识:
1:前序,中序,后序遍历,在写代码的时候注意递归和打印的顺序问题就行。
2:满二叉树:每一层的结点都达到了最大值,2的k次方-1个。完全二叉树:所有的编号都是顺序排下去的,不能有空的顺序。
3:递归的思想:把一个树分成左子树和右子树,然后得出来的值给上一层,求结点个数和叶子结点的个数,都分成左右两个子树,然后相加。
注意:返回的时候一定要加上本身,所以要加1.就和求高度也是一样的,在返回的时候一定要加上自身。
但是在求叶子节点不可以不用,因为叶子节点有另外的限制条件,左右子树都为空。
4:求第k层结点的个数,可以每下降一层,就让k减去1,这样也是递归的思想。
5:判断两个树是否相同 也是递归的思想,但是要注意递归的条件,一个为空另一个不为空 或者两个都为空,延申到一个树是否为另一棵树的子树都是这样的思想。先判断空和不空的问题,再进行递归。
6:平衡二叉树只是多了一个条件,左右子树的高度相差不能超过1.
7:对称二叉树要注意:除了以上这些条件,还有左的左和右的右相同,左的右和右的左相同。
8:层序遍历要考虑引用队列,出去一个,然后把左右子树都放进去 。
9:层序遍历的应用就是判断是否为完全二叉树,要判断队列里的顶元素为空的时候,队列里还是否有不为空的元素。