- 伸展树实现简单、无需修改节点结构、分摊复杂度低,但可惜最坏情况下的单次操作需要时间,难以适用于对可靠性和稳定性要求极高的场合。
- AVL树尽管可以保证最坏情况下的单次操作速度,但需要在节点中嵌入平衡因子等标识,删除操作之后的重平衡可能需做多达次旋转,从而频繁地导致全树整体拓扑结构的大幅度变化。
- 红黑是即是针对后一不足的改进。通过为节点指定颜色,并巧妙地动态调整,红黑树可保证:在每次插入或删除操作之后的重平衡过程中,全树拓扑结构的更新仅涉及常数个节点。尽管最坏情况下需对多达个节点重染色,但就分摊意义而言仅为O(1)个。
- 红黑树采用“适度平衡”的标准,任一节点左右子树的高度,相差不得超过两倍。
- 红黑树的定义:由红、黑二色节点组成的二叉搜索树若满足以下条件,即为红黑树:
- 1.树根始终为黑色;
- 2.外部节点均为黑色;
- 3.其余节点若为红色,则其孩子节点必为黑色;
- 4从任一外部节点到根节点的沿途,黑节点的数目相等。
红黑树简介
最新推荐文章于 2022-08-07 10:55:48 发布