Определите, является ли двоичное дерево максимальной кучей

Я пишу функцию, чтобы определить, является ли данное двоичное дерево максимальной кучей. Если бинарное дерево имеет только один узел (корень), будет ли оно считаться допустимой максимальной кучей?

1 ответ

Решение

Чтобы считаться допустимой максимальной кучей, двоичное дерево должно удовлетворять двум свойствам:

  1. Форма собственности. Дерево должно быть полным двоичным деревом. То есть каждый уровень, кроме последнего, должен быть полным. Если последний не заполнен, он заполняется слева.
  2. Куча собственности. Каждый дочерний узел должен быть меньше или равен своему родителю.

Дерево с одним узлом удовлетворяет обоим свойствам, поэтому оно является допустимой максимальной кучей.

Другие вопросы по тегам