4.14红黑树上

红黑树上

1.开篇思考题

为什么工程中都喜欢用红黑树,而不是其他平衡二叉查找树呢?

注:红黑树是平衡二叉树一种,平衡二叉树的目的是为了二叉查找树动态更新过程中仍然保证插入删除查找在o(logn)即跟树高一致,避免性能严重退化

2.红黑树

红黑树的英文是“Red-Black Tree”,简称 R-B Tree。它是一种不严格的平衡二叉查找树

i.根节点是黑色的;

ii.每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据;

iii.任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的;

iiii.每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点;

3.解答

红黑树只做到了近似平衡,并不是严格的平衡,所以在维护平衡的成本上,要比 AVL 树要低。

红黑树的插入、删除、查找各种操作性能都比较稳定。

对于工程应用来说,要面对各种异常情况,为了支撑这种工业级的应用,我们更倾向于这种性能稳定的平衡二叉查找树。

你可能感兴趣的:(4.14红黑树上)