刚刚接触二叉树,写一些自己对二叉树的理解,要理解二叉树,首先看一下基本概念:
- 二叉树:二叉树是一个连通的无环图,形式如下:
-
二叉树特点:
1、每个结点最多有两颗子树,结点的度最大为2。
2、左子树和右子树是有顺序的,次序不能颠倒。
3、即使某结点只有一个子树,也要区分左右子树。
-
基本概念:
1.结点:
指二叉树中一个个的点,就是上图中的0、1、2、3、4、5、6;
2.度:
指父结点下面有几个孩子结点,举两个例子你就明白了。针对结点1,他下面有两个孩子3、4,所以说结点1的度为2;针对结点4,他下面一个孩子都没有,所以说结点4的度为0;
3.叶子:
叶子就是度为0的结点。 -
二叉树的遍历
中序:是先访问左子树,再访问根,然后访问右子树
前序:是先访问根,再访问左子树,然后访问右子树
后序:是先访问左子树,再访问右子树,然后访问根
按层遍历:暂时不讲。
已上图为例:
前序序列:0134256 后序序列:3415620中序序列:3140526 -
特殊二叉树
1、
满二叉树
所有的分支结点都存在左子树和右子树,并且所有的叶子结点都在同一> 层上,这样就是满二叉树。就是完美圆满的意思,关键在于树的平衡。
2、
完全二叉树
对一棵具有n个结点的二叉树按层序排号,如果编号为i的结点与同样深度的满二叉树编号为i结点在二叉树中位置完全相同,就是完全二叉树。满二叉树必须是完全二叉树,反过来不一定成立。
其中关键点是按层序编号,然后对应查找。
在上图中,树1,按层次编号5结点没有左子树,有右子树,10结点缺失。树2由于3结点没有字数,是的6,7位置空挡了。树3中结点5没有子树。均不是完全二叉树
标准二叉树示列:
注:综合网上查询结果,结合个人理解做如上记录。