Определите, является ли двоичное дерево максимальной кучей
Я пишу функцию, чтобы определить, является ли данное двоичное дерево максимальной кучей. Если бинарное дерево имеет только один узел (корень), будет ли оно считаться допустимой максимальной кучей?
1 ответ
Решение
Чтобы считаться допустимой максимальной кучей, двоичное дерево должно удовлетворять двум свойствам:
- Форма собственности. Дерево должно быть полным двоичным деревом. То есть каждый уровень, кроме последнего, должен быть полным. Если последний не заполнен, он заполняется слева.
- Куча собственности. Каждый дочерний узел должен быть меньше или равен своему родителю.
Дерево с одним узлом удовлетворяет обоим свойствам, поэтому оно является допустимой максимальной кучей.