Může binární vyhledávací strom být i úplné a kompletní?

hlasů
3

V rámci přípravy na střednědobém horizontu datových struktur, profesor nám loňský test, na jednu věc, která se zabývá re-aranžování příklad strom do kompletního binárního vyhledávacího stromu. Vyzkoušel jsem několik různých verzí psaní mimo strom, ale kompletní binární strom příklad z Wolfram Mathematica nepomohlo vůbec, protože to také odpovídá definici plné. Učebnice stanovuje úplný binární strom jako strom přes úrovní n-1 je ideální při některé další koncové uzly na úrovni n, vše vyrovnané vlevo.

Uzly jsou A E I L N O P R S T U, n = 11 uzlů. Tady je ta nejlepší odpověď, kterou jsem přišel s:

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

Ale to se hodí příklad stromu u WM, ale ne kniha příklad. Jak to tedy je správná odpověď?

Položena 19/10/2010 v 14:57
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
11

Nemám úplně pochopit, kde vaše zmatek spočívá ale budu dělat moje nejlepší odpověď ...

Binární strom je považován za úplné, kdyby každý uzel má přesně 0 nebo 2 děti.

Binární strom je považován za úplný, jestliže každé úrovni je plná kromě posledního, a všechny uzly jsou tlačeny tak daleko doleva, jak je to možné.

Takže pokud se hodí oba tyto popisy, což je možné, může být současně úplné a kompletní.

Také binární strom je považován za ideální, pokud je plná a všechny listy jsou na stejné úrovni.

Takže v tomto příkladu jste čerpal uvedeno výše, že strom je plný a kompletní, ale není dokonalý.

Doufám, že to pomůže.

Odpovězeno 19/10/2010 v 15:06
zdroj uživatelem

hlasů
3

Některé další příklady, které budou snad být užitečné:

Dokončena, není plný:

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

Plná, není kompletní:

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


        R
      /    \
     L      T
    / \    
  I    N   
 / \  / \
A  E O   P
Odpovězeno 21/10/2010 v 03:38
zdroj uživatelem

hlasů
1

Full Tree: binární strom T je plný, jestliže každý uzel je buďto list, nebo má přesně dva podřízené uzly.

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

Plná strom, ale není úplná

Kompletní Tree: binární strom T s rokem n je úplná, pokud všechny úrovně s výjimkou možná poslední je zcela plná, a poslední stupeň má všechny uzly na levé straně.

       O
      / \
     O   O
    /
   O

Kompletní strom, ale ne kompletním

Podobně, další příklad

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

Doufám, že se jedná o užitečné!

Odpovězeno 21/04/2014 v 22:30
zdroj uživatelem

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