关于节点默认是红色还是黑色,可以通过给树中插入红色节点或者黑色节点对树造成的影响大小,而判断应该将节点的默认颜色设置为红色还是黑色。
根据红黑树的性质:
1.
每个结点不是红色就是黑色
2.
根节点是黑色的
3.
如果一个节点是红色的,则它的两个孩子结点是黑色的
4.
对于每个结点,从该结点到其所有后代叶结点的简单路径上,均 包含相同数目的黑色结点
5.
每个叶子结点都是黑色的
(
此处的叶子结点指的是空结点
)
插入红色节点树的性质可能不会改变,而插入黑色节点每次都会违反性质4.
通过性质发现:
将节点设置为红色在插入时对红黑树造成的影响是小的,而黑色是最大的
总结:将红黑树的节点默认颜色设置为红色,是为尽可能减少在插入新节点对红黑树造成的影响。