Это полное бинарное дерево? - PullRequest
4 голосов
/ 28 июня 2011

enter image description here

Если это Полное Двоичное Дерево, почему не указано следующее?

enter image description here

Ответы [ 2 ]

5 голосов
/ 28 июня 2011

См. Википедию:

Типы бинарных деревьев

  • Идеальное двоичное дерево - это полное двоичное дерево, в котором все листья находятся на одной глубине или на одном уровне. (Это также неоднозначно называется полным двоичным деревом.)
  • Полное двоичное дерево - это двоичное дерево, в котором каждый уровень, за исключением, возможно, последнего, полностью заполнен, а все узлы расположены как можно левее.

Так что здесь присутствует двусмысленность. С определением complete = perfect эти два не являются полными. Но со вторым определением, первое, так как, за исключением нижнего уровня, оно идеально, и все листья на нижнем уровне находятся в крайнем левом углу дерева.

В качестве примечания, википедия ссылается на NIST, а страница NIST указывает это в идеальном двоичном дереве:

This kind of tree is called "complete" by some authors ([CLR90, page 95], Leighton) and "full" by others (Budd page 331, Carrano & Prichard page 429, Ege, [HS83, page 225], and Sahni page 461).

Для тех, кто не распознает, CLR составляет Corman, Leiserson, Rivest, которые являются авторами Introduction to Algorithms.

С другой стороны, второе определение используется в KDE «Искусство компьютерного программирования» (см. Complete Binary Tree в Wolfram Mathworld) , которая является одной из немногих книг в области алгоритмов, которая имеет больший вес чем CLR.

0 голосов
/ 19 сентября 2012

для справки см. http://www.youtube.com/watch?v=tORLeHHtazM

структуры данных доктора Навина Гарга. Оба они не являются полным двоичным деревом. Поскольку полное двоичное дерево является двоичным деревом, имеющим (2 ^ i) узлов на уровне i.

...