Чтобы начать с основ, очень важно понимать само двоичное дерево, чтобы понимать его различные типы.
Дерево является двоичным деревом тогда и только тогда, когда:
- У него есть корневой узел, который не может иметь дочерних узлов (0 дочерних узлов, NULL дерево)
–Корневой узел может иметь 1 или 2 дочерних узла. Каждый такой узел сам образует двоичное дерево
–Количество дочерних узлов может быть 0, 1, 2 ....... не более 2
–Существует уникальный путь от корня до всех остальных узлов.
Пример :
X
/ \
X X
/ \
X X
Переходя к запрашиваемой вами терминологии:
Двоичное дерево является полным двоичным деревом (высоты h, мы принимаем корневой узел как 0) тогда и только тогда, когда:
Уровни от 0 до h-1 представляют полное двоичное дерево высоты h-1.
- Один или несколько узлов на уровне h-1 могут иметь 0 или 1 дочерний узел
Если j, k являются узлами на уровне h-1, тогда j имеет больше дочерних узлов, чем k тогда и только тогда, когда j находится слева от k, то есть на последнем уровне (h) могут отсутствовать конечные узлы, однако присутствующие должны быть сдвинутым влево
Пример :
X
/ \
/ \
/ \
X X
/ \ / \
X X X X
/ \ / \ / \ / \
X X X X X X X X
Двоичное дерево является строго двоичным деревом тогда и только тогда, когда:
Каждый узел имеет ровно два дочерних узла или ни одного узла
Пример :
X
/ \
X X
/ \
X X
/ \ / \
X X X X
Двоичное дерево является полным двоичным деревом тогда и только тогда, когда:
Каждый нелистовой узел имеет ровно два дочерних узла
Все листовые узлы находятся на одном уровне
Пример :
X
/ \
/ \
/ \
X X
/ \ / \
X X X X
/ \ / \ / \ / \
X X X X X X X X
/ \ / \ / \ / \ / \ / \ / \ / \
X X X X X X X X X X X X X X X X
Вы также должны знать, что такое идеальное двоичное дерево?
Бинарное дерево является идеальным двоичным деревом тогда и только тогда, когда:
- полное двоичное дерево
- Все листовые узлы находятся на одном уровне
Пример :
X
/ \
/ \
/ \
X X
/ \ / \
X X X X
/ \ / \ / \ / \
X X X X X X X X
/ \ / \ / \ / \ / \ / \ / \ / \
X X X X X X X X X X X X X X X X
Что ж, извините, я не могу публиковать изображения, так как у меня нет 10 репутации. Надеюсь, это поможет вам и другим!