二叉查找树
- 每一个节点上最多有两个子节点
- 左子树上所有节点的值都小于根节点的值
- 右子树上所有节点的值都大于根节点的值
平衡二叉树
- 左右两个子树的高度差不超过1
- 任意节点的左右两个子树都是平衡二叉树
平衡二叉树可以减少二叉查找树的查找深度,提高查找效率
旋转
为了使平衡二叉树在添加元素后任然保持平衡,就有了旋转:左旋、右旋
左旋
如果节点10有个左子节点9,则旋转后节点9会变成节点7的右子节点
右旋
如果节点4有个右子节点5,则旋转后节点5会变成节点7的左子节点
多次旋转
如果旋转一次不够,可以多次旋转。先是局部旋转,再是整体旋转