logo

Úplný binární strom vs. Úplný binární strom

Co je úplný binární strom?

Úplný binární strom lze definovat jako a binární strom ve kterém všechny uzly mají 0 nebo dvě děti. Jinými slovy, úplný binární strom lze definovat jako binární strom, ve kterém mají všechny uzly dva potomky kromě listových uzlů.

Níže uvedený strom je úplný binární strom:

Úplný binární strom vs. Úplný binární strom

Výše uvedený strom je úplný binární strom, protože všechny uzly kromě listových mají dva potomky.

Úplný teorém binárního stromu:

Považujte binární strom T za neprázdný strom, pak:

  • Nechť jsem vnitřní uzly ve stromu a L je listový uzel ve stromu, pak by se počet listových uzlů rovnal:
    L = I + 1
  • Pokud má T, I počet vnitřních uzlů a N je celkový počet uzlů, pak by se celkový počet uzlů rovnal:
    N = 21 + 1
  • Pokud T obsahuje 'N' celkový počet uzlů a 'I' je počet interních uzlů, pak by se počet interních uzlů rovnal:
    I = (N-l)/2
  • Pokud má 'T' celkový počet uzlů 'N' a 'L' je počet listových uzlů, pak by se počet listových uzlů rovnal:
    L = (N+l)/2
  • Pokud 'T' obsahuje 'L' počet listových uzlů, pak by se celkový počet uzlů rovnal:
    N = 2 1 - 1
  • Pokud má 'T' počet listových uzlů 'L' a 'I' je počet vnitřních uzlů, pak by se počet vnitřních uzlů rovnal:
    I = L - 1

Co je úplný binární strom?

O binárním stromu se říká, že je úplný binární strom, když jsou všechny úrovně zcela vyplněny kromě poslední úrovně, která se plní zleva.

Níže uvedený strom je úplný binární strom:

Úplný binární strom vs. Úplný binární strom

Úplný binární strom je podobný úplnému binárnímu stromu s výjimkou dvou rozdílů, které jsou uvedeny níže:

  • Plnění listového uzlu musí začínat od levé krajní strany.
  • Není povinné, že poslední listový uzel musí mít správného sourozence.

Pojďme pochopit výše uvedené body na příkladu:

Zvažte níže uvedený strom:

Úplný binární strom vs. Úplný binární strom

Výše uvedený strom je úplný binární strom, ale ne úplný binární strom, protože uzel 6 nemá svého pravého sourozence.

Vytvoření kompletního binárního stromu

Předpokládejme, že máme pole 6 prvků zobrazených níže:

Úplný binární strom vs. Úplný binární strom

Výše uvedené pole obsahuje 6 prvků, tj. 1, 2, 3, 4, 5, 6. Následující kroky je třeba použít k vytvoření kompletního binárního stromu:

Krok 1: Nejprve vybereme první prvek pole, tedy 1, a vytvoříme kořenový uzel stromu. Počet prvků dostupných v první úrovni je 1.

Krok 2: Nyní vybereme druhý a třetí prvek pole. Ponechte druhý prvek a třetí prvek pole jako levý a pravý potomek kořenového uzlu, jak je znázorněno níže:

Úplný binární strom vs. Úplný binární strom

Jak můžeme vidět výše, počet prvků dostupných ve druhé úrovni je 2.

Krok 3: Nyní vybereme další dva prvky z pole, tj. 4 a 5. Ponechte tyto dva prvky vlevo a vpravo od uzlu 2, jak je znázorněno níže:

Úplný binární strom vs. Úplný binární strom

Jak můžeme pozorovat výše, uzly 4 a 5 jsou levým a pravým potomkem uzlu 2.

Krok 4: Nyní vybereme poslední prvek pole, tj. 6, a ponecháme jej jako levého potomka uzlu 3, protože víme, že v úplném binárním stromu jsou uzly vyplněny z levé strany, jak je znázorněno níže:

převod řetězce na int java
Úplný binární strom vs. Úplný binární strom

Jak můžeme pozorovat, druhá úroveň obsahuje 3 prvky.

Pojďme pochopit rozdíly mezi úplným a úplným binárním stromem prostřednictvím obrázků.

  1. Binární strom, který je zobrazen níže, není ani úplný, ani úplný binární strom. Není to úplný binární strom, protože uzel 3 má pouze jednoho potomka. Také to není úplný binární strom, protože uzly by měly být vyplněny z levé strany, ale uzel 3 má pravého potomka a nemá levého potomka.
    Úplný binární strom vs. Úplný binární strom
  2. Binární strom, který je zobrazen níže, je úplný binární strom, ale ne úplný binární strom. Je to úplný binární strom, protože všechny uzly mají buď 0 nebo 2 potomky. Není to úplný binární strom, protože uzel 3 nemá žádné potomky, zatímco uzel 2 má své potomky a my víme, že uzly by měly být vyplněny z levé strany v úplném binárním stromu.
    Úplný binární strom vs. Úplný binární strom
  3. Binární strom, který je zobrazen níže, je úplný binární strom, ale ne úplný binární strom. Je to kompletní binární strom, protože všechny uzly jsou ponechány vyplněné. Nejedná se o úplný binární strom, protože uzel 2 má pouze jednoho potomka.
    Úplný binární strom vs. Úplný binární strom
  4. Binární strom, který je zobrazen níže, je úplný i úplný binární strom. Je to kompletní binární strom, protože všechny uzly jsou ponechány vyplněné. Je to úplný binární strom, protože všechny uzly mají buď 0 nebo 2 potomky.
    Úplný binární strom vs. Úplný binární strom