我正在研究CLRS的红黑树。关于讨论红黑树属性的部分,我有两个问题。来自CLRS的段落如下:
红黑树是满足以下红黑性质的二叉树:
每个节点不是红色就是黑色
根是黑色的
每片叶子(NIL)都是黑色的
如果一个节点是红色的,那么它的两个子节点都是黑色的
对于每个节点,从节点到后代叶子的所有简单路径都包含相同数量的黑色节点
首先,它说红黑树是二叉树。为什么他们不说红黑树是二叉搜索树。我认为红黑树的全部目的是保持搜索树的平衡以确保logN操作。其次,为什么红黑树中的叶子是NIL?
在常规二叉树中,我们习惯于这样:
4
5 7
3 2 Nil Nil
Nil Nil Nil Nil
在这种情况下,3、2 和 7 是叶子。为什么在 CLRS 中叶子被描绘成 Nil 的?