二叉搜索树/二叉排序树/二叉查找树
- 是二叉树、任意结点的左子树的值均小于根节点的值,右子树均大于根节点的值
- 没有键值相等
平衡二叉树(AVL树)
-
定义
- 左右字数的高度差的绝对值不超过1,并且两子树都是平衡二叉树
- 没有键值相等
- 高度差,又名平衡因子,范围为[-1,0,1],在此规定==平衡因子 bf = 右子树的高度-左子树的高度==
-
插入操作
- 当有新的结点插入之前,该树一定是一个平衡二叉树
- 按照普通搜索树的方式插入结点cur
- 插入之后,调整cur的 parent.bf:插入到左边 bf --;插入到右边 bf++;
- bf变为3种值:
(1)0:插入结束
(2)-1/1:调整 bf 的过程向上蔓延
(3 )-2/2:进行修复,
- 对失衡的情况进行修复
- 插入完成之后,该树依然是一个平衡二叉树
-
具体步骤
平衡二叉树插入操作的详细过程图解
原文:https://blog.51cto.com/14233363/2482901