一、基本概念
红黑树本质上是一棵近似平衡的二叉树,它的节点只有两种颜色即红与黑,它满足二叉搜索树的基本性质,即树上的任何节点的值大于其左子节点(若左子节点存在),任何节点的值大于其右子节点的值(若右子节点存在)。
近似平衡:深度最大的节点的深度<= 2 * 深度最小的节点的深度。具体如何保证这种近似平衡后面会说到。
红黑树与平衡二叉树比较:
因为红黑树只追求近似平衡,所以在插入与删除节点时,翻转次数远远少于平衡树,因此在需要较多插入删除操作的场景中,使用红黑树更好。
同样也因为近似平衡,所以在查询时,红黑树查询的深度可能会大于平衡二叉树,所以在需要较多查询的场景中,使用平衡二叉树更好。