Типичное двоичное представление дерева состоит из данных, связанных с узлом, и двух указателей на левое и правое поддерево соответственно.
Я думаю, что с представлением легко понять, что каждый узел тратит два указателя.Следовательно, каждое дерево из n
узлов тратит на хранение всего 2 x n
указателей (для указателей).
Теперь, за исключением корня, у n-1
узлов есть родительский элемент (то есть дуга или ребро).Таким образом, вы действительно используете n-1
указатели 2n
, которые у вас есть (как объяснено в предыдущем абзаце).
При этом из в общей сложности 2n
указателей вы всегда используете n-1
.Остальные 2n - (n-1) = n+1
всегда установлены на null
.Таким образом, независимо от топологии дерева, вы всегда тратите больше места на хранение указателей null
, чем на хранение дуг дерева.