美文网首页
4. 平衡二叉搜索树 --- BBST(Balance Bina

4. 平衡二叉搜索树 --- BBST(Balance Bina

作者: 執著我們的執著 | 来源:发表于2018-06-12 00:09 被阅读0次

BBST - 自平衡二叉搜索树

  • 二叉搜索 : 依旧满足二叉搜索树的性质(充要条件)
  • 实现自平衡 : 在插入和删除后,二叉搜索树性质&平衡性破坏需要自行调整恢复


写在前面
1. BST 的平衡

若BST的拓扑结构如下图这种结构


BST的复杂度为 O(h),上面拓扑结构 树高 h = 节点个数 n,删除操作的复杂度达到了O(n),明显不符合 BST 的高效性,为了解决这种情况,我们为 BST 引入了平衡的概念,来有效的控制树高,以追求更低的树
2. 理想平衡
  • 节点数目固定,兄弟子树高度越接近(平衡),全树的树高也将倾向于更低,称之为理想平衡 ; 如完全二叉树,满二叉树...
3. 适度平衡
  • 理想平衡出现的概率极低,维护的成本过高,故须适当的放低标准,引入适度平衡
  • 高度渐进地不超过 O(log n),即可称之为适度平衡 ,即 height(Tree) = O(log n)
  • 适度平衡 的 BST ,称作 平衡二叉搜索树BBST


那么采用什么样的办法将 BST 恢复成 BBST?

概括而言 : 所有的这些方法都必须是等价变换

何为等价变换?
对于 BST ,拓扑结构不尽相同,但中序遍历序列如果相同,则称之为 等价 BST

等价 BST
通过上图等价BST,可总结等价BST规律
  1. 上下可变 : 联结关系不尽相同
  2. 左右不乱 : 中序序列不变

等价 BST 的相互转换,由一系列的基本操作串接而成,这种基本操作总结为两类,彼此对称

zig : 顺时针旋转
zag :逆时针旋转

详见下图基于两类基本操作的等价变换

Zig(V) Zag(V)

BBST :满足平衡性质的 BST;
基于上述两种基本操作 zig 和 zag,可将 BST 转换成想要的 BBST

相关文章

  • 4. 平衡二叉搜索树 --- BBST(Balance Bina

    BBST - 自平衡二叉搜索树 二叉搜索 : 依旧满足二叉搜索树的性质(充要条件) 实现自平衡 : 在插入和删除后...

  • 23-红黑树

    1.二叉搜索树(BST)继承二叉树(BinaryTree) 2.平衡二叉搜索树(BBST)继承二叉搜索树(BST)...

  • 二叉树基础

    二叉树的分类 完全二叉树与满二叉树 二叉搜索树BST 平衡二叉搜索树BBST因为二叉搜索树有可能退化为链表,降低查...

  • 数据结构与算法(第一季):平衡二叉搜索树

    一、平衡二叉搜索树(Balance Binary Search Tree) 1、退化成链表的二叉搜索树 删除节点时...

  • LeetCode | 1382. Balance a Binar

    LeetCode 1382. Balance a Binary Search Tree将二叉搜索树变平衡【Medi...

  • 数据结构-AVL树

    平衡(Balance) 当节点数量固定时,左右子树的高度越接近,这棵二叉树就越平衡(高度越低) 平衡二叉搜索树(B...

  • AVL树的总结

    AVL树:它是高度平衡的二叉搜索树,它的左子树和右子树都是AVL树。结点拥有的平衡因子(balance)是该结点的...

  • 5. AVL树

    AVL树背景 在计算机科学中,AVL树是最先发明的自平衡二叉搜索树(BBST)。在AVL树中任何节点的两个子树的高...

  • 树结构-1

    1.二叉搜索树、平衡二叉树2.平衡二叉树之红黑树、3.B 树、B+树、B* 树、4.字典树 ( Trie树 ) 二...

  • 数据结构与算法之美笔记——平衡二叉查找树

    摘要: 「平衡二叉查找树(Balance Binary Search Tree)」用以解决二叉查找树因不平衡情况而...

网友评论

      本文标题:4. 平衡二叉搜索树 --- BBST(Balance Bina

      本文链接:https://www.haomeiwen.com/subject/gfcheftx.html