一、TreeMap特性
1. 其底层由红黑树实现
2. 元素中的键不能重复(要根据键进行索引)
3. 元素会按照顺序排好
二、二叉查找树的定义
- 特点
- IF左子树不空,则其所有节点的值都小于根节点的值
- IF右子树不空,则其所有节点的值都大于根节点的值
- 左、右子树也分别为二叉排序树
- 节点的值不重复
- 结论
- 节点二叉树就是一个有序的,元素无重复的树
三、二叉查找树的查找操作
- 查找方式
- 从根节点开始查找,IF查找的树比根节点大,则前往右子树,否则前往左子树;
- 在右/左子树中进行递归查找
四、平衡二叉树--二叉查找树的一种
1. 定义
左右两子树高度差不超过1的二叉查找树就叫做平衡二叉树
2. 平衡二叉树的旋转
IF在对二叉查找树的操作过程中出现了不平衡,则需要旋转,旋转方式共分为两种。
(1)左旋
把当前的根节点压到左子树的根节点位置上去,右子树的根节点拿上来作为当前树的根节点;把晋升之后多余的左子节点给降级的右子节点
(2)右旋
把当前的根节点压到右子树的根节点位置上去,左子树的根节点拿上来作为当前树的根节点;把晋升之后多余的右子节点给降级的左子节点
五、红黑树
1.定义
- 红黑树是一种自平衡的二叉查找树
- 红黑树的所有存储位表示结点的颜色,可以是红或者黑
- 红黑树不是高度平衡的,它的平衡是通过“红黑