前言
鉴于各位时间的宝贵,我将各位在数据结构中二叉树的性质上容易出现的理解问题进行了整理,帮助各位打通思路。
二叉树的性质
性质一
- 若规定只有根结点的二叉树的深度为1,则深度为K的二叉树的最大结点数是 (k>=0)。
结合下图我整理了出现的名词的意思:
二叉树:是一种数据结构,形状树一棵奇特的树——根在上面,树枝在下面。 具体的形状可以将下方图片中的树倒过来看。
深度:我们默认把树倒过来看,二叉树埋入地底下,根在地表,枝叶渗入地下,从根到渗入地下最长的那一根枝叶的距离就是深度。
高度:最长的枝叶作为底部,根作为顶部, 两者之间的距离就是高度。
层数:默认情况下,根所处的层为第一层。第K层就是高度或深度==K的时候所处的层。
节点数-结点数:两者意思基本相同,指的是端点。例如下图中的4,1,13,2等都是节点;未特殊指明哪一层的节点数的时候,节点数一般指所有的节点数量的和。
(k>=0):k指的其实就相当于高度,一般情况下,高度默认没有负数的。
最大结点数:在规定了层数(k)的情况下,最大的结点数相当于第k层至第一层所有的结点数相加。
性质二
-
具有n个结点的完全二叉树的深度k为log2(n+1)上取整。
-
由性质一可知:根据深度能推出最大的结点数。相对的,也能根据结点数推测出大概的深度。
第一层:最多只能有1个。
第二层:能有2-3个,最多能有3个。
第三层:能有4-7个,最多能有7个。
大概的深度: 由于n不一定等于log2(n+1),属于哪一层是一个范围的判定,所有只能是大概的深度。