红黑树
1. 二叉树的问题
普通二叉树作为数据存储工具有很大的优势,可以快速的插入、删除和查找数据项。遗憾的是,这仅仅是相对于插入随机数据,如果插入的数据是有序的,速度就变得特别慢了。
2. 平衡树和非平衡树
插入随机的数据,平衡树
插入有序的数据,非平衡树
3. 红黑规则
(1) 每个结点不是红色就是黑色
(2) 根总是黑色的
(3) 如果结点是红色的,则它的子结点必须是黑色的
(4) 从根结点到叶节点的每条路径必须包含相同数目的黑色结点
4. 纠正规则,将不符合红黑规则的树纠正为红黑树
(1) 改变结点的颜色
(2) 执行旋转操作