一. 极端退化

     BST在最坏情况下的时间复杂度为树的高度,未能得到有效的控制。

      二叉搜索树(BST)学习笔记(二)之平衡与等价

      在极端条件下,所有节点的度数都不超过1

二. 平均高度

1.随机生成

   对于任何一组关键码词条,考察它所有可能的排列,将关键码依次插入一颗初始值为空的树。当关键码为n时,      可能的生成序列有n!种。

   n!颗BST树平均高度为logn。(有重复)

    二叉搜索树(BST)学习笔记(二)之平衡与等价

2.随机组成

   将所有的n个关键码,视作n个互异的积木。在符合BST顺序性要求的前提下,考察它们总能拼接出多少棵拓扑结构互异的BST。可以证明,如此所得BST的总数,恰好为卡特兰数catalan(n),所有BST的平均高度值为根号n。(更可靠)

  二叉搜索树(BST)学习笔记(二)之平衡与等价

三. 理想+适度

1. 节点数目固定时,左右兄弟子树高度越接近平衡,全树也将倾向于更低

     二叉搜索树(BST)学习笔记(二)之平衡与等价

2. 满二叉树,完全二叉树能达到此平衡状态。

3. 理想平衡出现概率极低,维护成本高,故须适当地放松标准。

     二叉搜索树(BST)学习笔记(二)之平衡与等价

4. 适度平衡的BST,称作平衡二叉搜索树BBST(Balanced Binary Search Tree)

四. 歧义=等价

 二叉搜索树(BST)学习笔记(二)之平衡与等价

结构不尽相同的两个BST树,它们的中序遍历序列有可能完全雷同,即中序遍历序列的歧义性。

 二叉搜索树(BST)学习笔记(二)之平衡与等价

五. 等价变换 + 旋转调整

1.节点V拥有一个左孩子C,它们属下分别有三棵子树X,Y,Z,经过顺时针Zig旋转,顺序性与单调性依然保持。

二叉搜索树(BST)学习笔记(二)之平衡与等价

2.经过逆时针Zag旋转

二叉搜索树(BST)学习笔记(二)之平衡与等价

3.所有的等价变换始终遵循两个重要准则

(1)局部性:比如上图的旋转都局限在局部的V和C两个节点之间,因此所牵扯的节点总数是常数。则这类操作所需要的计算时间可严格控制在O(1)

(2)将一棵刚刚失衡的BBST,重新恢复为一棵BST的过程,累计需要执行的这样的操作次数不要过多,最多不能超过O(logn)。




相关文章:

  • 2021-10-24
  • 2021-09-07
  • 2022-12-23
  • 2021-04-14
  • 2022-01-01
  • 2022-01-01
猜你喜欢
  • 2021-07-04
  • 2021-10-14
  • 2021-07-09
  • 2021-04-18
  • 2021-08-30
  • 2021-09-09
  • 2022-12-23
相关资源
相似解决方案