Può un albero binario di ricerca essere sia piena e completa?

voti
3

In preparazione per le strutture di dati di medio termine, il professore ci ha dato prova dello scorso anno, una domanda che si occupa di ri-organizzare un albero di esempio in un albero binario di ricerca completo. Ho provato diverse versioni di scrivere fuori l'albero, ma questo completo esempio albero binario da Wolfram Mathematica non ha aiutato a tutti, dal momento che si inserisce anche la definizione di una piena. Il libro di testo definisce un albero binario completo come un albero attraverso il livello n-1 è perfetta, con alcuni nodi aggiuntivi foglia a livello n, tutto allineato a sinistra.

I nodi sono A E I L N O P R S T U, n = 11 nodi. Ecco la migliore risposta mi si avvicinò con:

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

Ma questo si inserisce l'esempio dell'albero a WM, ma non l'esempio del libro. Quindi, quale è la risposta corretta?

È pubblicato 19/10/2010 alle 14:57
fonte dall'utente
In altre lingue...                            


3 risposte

voti
11

Non del tutto a capire dove la vostra confusione è ma farò del mio meglio per rispondere ...

Un albero binario è considerato completo se ogni nodo ha esattamente 0 o 2 bambini.

Un albero binario è considerato completo se ogni livello è completo tranne l'ultimo, e tutti i nodi vengono spinti il ​​più sinistra possibile.

Quindi, se si adatta entrambe queste descrizioni, che è possibile, può essere allo stesso tempo piena e completa.

Inoltre, un albero binario è considerato perfetto se è pieno e tutte le foglie sono sullo stesso piano.

Quindi, nell'esempio avete disegnato sopra, l'albero è piena e completa, ma non perfetto.

Spero che aiuti.

Risposto il 19/10/2010 a 15:06
fonte dall'utente

voti
3

Alcuni altri esempi che si spera essere utili:

Completa, non pieno:

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

Pieno, non completa:

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


        R
      /    \
     L      T
    / \    
  I    N   
 / \  / \
A  E O   P
Risposto il 21/10/2010 a 03:38
fonte dall'utente

voti
1

Albero completa: un albero binario T è completo se ogni nodo è o una foglia o possiede esattamente due nodi figli.

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

albero pieno ma non completa

Albero completo: un albero binario T con i livelli di N è completa se tutti i livelli, eccetto forse l'ultimo sono completamente pieni, e l'ultimo livello ha tutti i suoi nodi sul lato sinistro.

       O
      / \
     O   O
    /
   O

albero completo ma non pieno

Analogamente, un altro esempio

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

Spero che questi sono utili!

Risposto il 21/04/2014 a 22:30
fonte dall'utente

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