世界需要平衡,破坏平衡的一方,也许会一时很强势的称霸,最终的结局逃不过孤立和落空
typedef struct BSTNode{
ElemType data;
int bf; // 平衡因子
struct BSTNode* lchild, *rchild;
} BSTNode, *BSTree;
在双向旋转平衡处理后BF(A)由2变为-1,BF(B)由-1变为0,BF(C)由1变为0。
在双向旋转平衡处理后BF(A)由-2变为0,BF(B)由1变为-1,BF(C)由1变为0。
依次插入的关键字为5, 4, 2, 8, 6, 9
- **左子树深度=右子树深度**
- 插入前若根节点平衡因子为0,插入后则改为1,树深加1。

- **左子树深度>右子树深度LL型**
- 插入前若根节点平衡因子为1,插入后其左子树的平衡因子为1(左左),则单向右旋,旋转后根节点和右子树的平衡因子改为0,树深不变。

- **左子树深度>右子树深度LR型**
- 插入前若根节点平衡因子为1,插入后左子树的平衡因子为-1(左右),则先左旋再右旋,旋转后根节点和其左子树的平衡因子改为0,右子树的平衡因子改为-1,树深不变。

在二叉平衡树上进行查找时,
查找过程中和给定值进行比较的关键字的个数和 log(n) 相当。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。