Я изучаю красно-черные деревья из CLRS. У меня есть 2 вопроса по части, где обсуждаются свойства красно-черных деревьев. Отрывок из CLRS выглядит следующим образом:
Красно-черное дерево - это двоичное дерево, которое удовлетворяет следующим красно-черным свойствам:
Каждый узел красный или черный
Корень черный
Каждый лист (NIL) черный
Если узел красный, то оба его дочерних элемента черные.
Для каждого узла все простые пути от узла к дочерним листьям содержат одинаковое количество черных узлов.
Прежде всего, в нем говорится, что красно-черное дерево - это двоичное дерево. Почему они не сказали, что красно-черное дерево - это двоичное дерево поиска. Я думал, что вся цель красно-черного дерева - поддерживать баланс в дереве поиска для обеспечения операций logN. Во-вторых, почему лист на красно-черном дереве - НЕТ?
В обычных бинарных деревьях мы к этому привыкли:
4
5 7
3 2 Nil Nil
Nil Nil Nil Nil
В этом случае 3, 2 и 7 - это листья. Почему листья в CLRS обозначены как «ноль»?