Может ли бинарное дерево быть как полным и полным?

голоса
3

В рамках подготовки к среднесрочному структур данных, профессор дал нам испытание в прошлом году, один вопрос, который имеет дело с перестановкой примером дерева в полное бинарное дерево поиска. Я пробовал несколько различных версий выписывая дерева, но это полное бинарное дерево пример из Wolfram Mathematica не помогает вообще, так как он также подходит определение полной. Учебник определяет полное бинарное дерево в виде дерева через уровень п-1 идеально подходит с некоторыми дополнительными листовыми узлами на уровне п, все выравнивается по левому краю.

Узлы A E I L N O P R S T U, п = 11 узлов. Вот лучший ответ , который я придумал:

           R
         /    \
        L      T
       / \    / \
     I    N   S   U
    / \  / \
   A  E O   P

Но это подходит пример дерева на WM, но не книги, например. Так что правильный ответ?

Задан 19/10/2010 в 14:57
источник пользователем
На других языках...                            


3 ответов

голоса
11

Я не совсем понимаю, где ваша путаница лежит, но я сделаю все возможное, чтобы ответить ...

Бинарное дерево считается полной, если каждый узел имеет ровно 0 или 2 детей.

Бинарное дерево считается полным, если каждый уровень полон, кроме последнего, и все узлы выталкиваются в крайнее левое положение, насколько это возможно.

Так что, если она подходит как одно из этих описаний, что возможно, она может одновременно быть полной и окончательной.

Кроме того, бинарное дерево считается совершенным, если она полна, и все листья находятся на том же уровне.

Таким образом, в данном примере вы нарисовали выше, что дерево является полным и завершенным, но не идеально.

Надеюсь, это поможет.

Ответил 19/10/2010 в 15:06
источник пользователем

голоса
3

Вот еще несколько примеров, которые, надеюсь, будет полезно:

Полная, не полная:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
 / \  /
A  E O   

Полная, не полная:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
      / \
     O   P


        R
      /    \
     L      T
    / \    
  I    N   
 / \  / \
A  E O   P
Ответил 21/10/2010 в 03:38
источник пользователем

голоса
1

Полное дерево: бинарное дерево T называется полной, если каждый узел является либо листом или имеет ровно два дочерних узлов.

      O
     / \
    O   O
   / \ / \
  O  O O  O
    / \
   O   O

Полное дерево, но не полный

Полное дерево: бинарное дерево T с п уровнями является полным, если все уровни, кроме, возможно, последний полностью заполнены, и последний уровень имеет все узлы на левую сторону.

       O
      / \
     O   O
    /
   O

Полное дерево, но не полный

Аналогичным образом, еще один пример

      O
     / \
    O   O
   / \ / \
  O  O O  O
 /\ /
O O O

Я надеюсь, что это полезно!

Ответил 21/04/2014 в 22:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more