树
树的定义和基本术语
除了根节点以外每个节点只有一个前驱节点(双亲节点)
二叉树定义和基本术语
注意:度为2的有序树和二叉树又不同之处
度为2的树:节点最高度为2,说明肯定有一个节点度为2(有节点说明肯定不是空树喽)
二叉树:树中节点最高度为2,可以没有节点
二叉树节点的五种状态
几种特殊的二叉树
满二叉树:指的是除了叶子节点以外其他的节点都长满了两个分支
高度为h的满二叉树有2^h-1个节点
完全二叉树看上面的图,只能删除那些编号更大的节点
比如你只删除了右图中的13
那么原来的14就会变成13,原来的15变成14
so
那就和满二叉树不对应了
完全二叉树前n-1层一定是满二叉树
二叉排序树
方便于对于元素的搜索
平衡二叉树
任何一个节点左子树和右子树的深度之差不超过1
平衡二叉树可以提高搜索效率
二叉树的性质
1.度为0的节点数=度为2的节点数+1
2.对应层数的最多节点
3.高度为h满二叉树最多有2^h-1个节点
可以用等比数列求和公式算
完全二叉树
4.对应n个节点的二叉树的高度算法
第一种
h=log2(n+1)
因为我们这里都是用的满二叉树作为条件来判断对应范围
所以肯定不全面
第二种
对应的h层完全二叉树
前h-1层一定为满二叉树共有2^(h-1)-1个节点
最少就是比前一层多一个节点就是2^(h-1)
最多就是2^h-1个节点和满二叉树一样
二种不同结果一种是最少情况一种是最多情况
都记住就可以
5.