前言
文章结尾有彩蛋哦~~
前面我们已经知道了什么是树,树是⼀种⾮线性的数据结构,它是由 n ( n>=0 ) 个有限结点组成⼀个具有层次关系的集合。
那么这篇文章就让我们来了解一下什么是二叉树吧!
二叉树的概念与结构
概念:
在树形结构中,我们最常⽤的就是⼆叉树,⼀棵⼆叉树是结点的⼀个有限集合,该集合由⼀个根结点 加上两棵别称为左⼦树和右⼦树的⼆叉树组成或者为空。
如图:
如图:
从上面两幅图片中我想我们已经大致了解了什么是二叉树了。
结构:
⼆叉树不存在度⼤于 2 的结点 ; ⼆叉树的⼦树有左右之分,次序不能颠倒,因此⼆叉树是有序树。(注意:对于任意的⼆叉树都是由以下⼏种情况复合⽽成的)
如图:
特殊的二叉树
满二叉树
概念:
⼀个⼆叉树,如果每⼀个层的结点数都达到最⼤值,则这个⼆叉树就是满⼆叉树。也就是说,如果⼀ 个⼆叉树的层数为 K ,且结点总数是2^k-1 ,则它就是满⼆叉树。
如图:
完全二叉树
概念:
完全⼆叉树是效率很⾼的数据结构,完全⼆叉树是由满⼆叉树⽽引出来的。对于深度为 K 的,有 n 个 结点的⼆叉树,当且仅当其每⼀个结点都与深度为K的满⼆叉树中编号从 1 ⾄ n 的结点⼀⼀对应时称 之为完全⼆叉树。(注意:满⼆叉树是⼀种特殊的完全⼆叉树。)(当中标红的文字可能比较难以理解,我们可以这样来理解:你可以这样理解,就是说从左到右编号,一一对应,不能有空的结点残留,就是完全二叉树,向左对齐,主要是这个意思)
如图:
二叉树的性质
1.若规定根结点的层数为 1 ,则⼀棵⾮空⼆叉树的第i层上最多有 2^i-1个结点 ;
2.若规定根结点的层数为 1 ,则深度为 h 的⼆叉树的最⼤结点数是2^h-1 ;
3.若规定根结点的层数为 1 ,具有 n 个结点的满⼆叉树的深度( h = log2 (n+1) (log以2为底, n+1 为对数)
这篇文章也是二叉树的基础部分,比较简单!!!
水韵澄心, 霜华照影!!!
要加油哦,不论有多困难!!!