引出:
同样是12个月份数据,用不同的二叉树组成方式,他们的平均查找深度都不一样:
对于第一棵树:平均查找深度 = (1x1 + 2x2 + 3x3 + 3x4 + 2x5 +1x6)/12 = 3.5
第二棵树:3.0
第三棵树:6.5
由此我们看出:越是平衡的树,查找效率越高。
1. 平衡二叉树概念
在二叉搜索树的基础上:左右两个子树的平衡因子 <= 1;这里的子树是包含递归概念的。
平衡因子就是:左子树与右子树的高度差不超过 1
另外:平衡二叉树还有个最小节点数的规律:
高度为1;最小节点数是 1
高度为2;最小节点数是 2
高度为3;最小节点数是 4
高度为4;最小节点数是 7
总结规律:后一个等于 前两个 +1 ;比如 4 = 1+2 +1; 比如 7 = 2+4+1
2. 平衡二叉树的改变后再次调整为平衡状态
这里ABC A>C>B 所以 C 放中间 B放左边 A放右边
特别鸣谢:浙大MOOC数据结构课程团队