Может ли существовать каждое допустимое красное -черное дерево?

Предположим, у вас есть красное -черное дерево , которое является допустимым бинарным деревом поиска и не нарушает ни одно из этих правил:

  • Узел либо красный, либо черный.
  • Корень черный.
  • Все листья (NIL )черные.
  • Оба потомка каждого красного узла черные.
  • Каждый простой путь от данного узла к любому из его дочерних листьев содержит одинаковое количество черных узлов.

Такое красное -черное дерево выглядит вот так: enter image description here

Каждое ли возможное дерево, отвечающее этим ограничениям, имеет последовательность вставок и удалений, так что получается красное -черное дерево?

Я задаю этот вопрос, потому что думаю о написании статьи в блоге о красных -черных -деревьях и хотел бы привести несколько примеров.

Если вы хотите протестировать счетчик -пример :Вот реализация красного -черного дерева на питоне с реализованной функцией для генерации изображения.

Для уточнения вопроса:Делаем игру.

  • Я рисую красное -черное дерево, отвечающее всем ограничениям.
  • Вы должны найти последовательность вставок и удалений, чтобы в итоге получилось мое красно-черное дерево.

Можно мне нарисовать красное -черное дерево, чтобы ты не смог победить?

Цвета важны! Если дерево имеет другую форму или другой цвет, это не одно и то же красное -черное дерево.

Вы должны хотя бы знать, как генерировать эти два красных -черных -дерева: enter image description hereenter image description here

Обратите внимание, что это только проверка для вас, если это может работать. Если вы знаете только, как получить эти два красных -черных дерева, вы не сможете ответить на этот вопрос!

11
задан Martin Thoma 5 August 2012 в 07:55
поделиться