Coneixem a arbre és una estructura de dades no lineal. No té cap limitació en el nombre de nens. AQuè és un arbre binari complet?
Un arbre binari complet és un tipus especial d'arbre binari on tots els nivells de l'arbre s'omplen completament, excepte els nodes de nivell més baix, que s'omplen des del màxim de l'esquerra possible.

Arbre binari complet
Alguna terminologia de l'arbre binari complet:
- Arrel – Node en el qual no prové cap vora del pare. Exemple -node A
- Nen – El node que té alguna vora entrant s'anomena fill. Exemple: els nodes B, F són fills d'A i C respectivament.
- Germà – Els nodes que tenen el mateix pare són germans. Exemple: D, E són germans ja que tenen el mateix pare B.
- Grau d'un node – Nombre de fills d'un progenitor determinat. Exemple: el grau de A és 2 i el grau de C és 1. El grau de D és 0.
- Nodes interns/externs – Els nodes de fulla són nodes externs i els nodes de fulla són nodes interns.
- Nivell – Comptar els nodes d'un camí per arribar a un node de destinació. Exemple: el nivell del node D és 2, ja que els nodes A i B formen el camí.
- Alçada – Nombre d'arestes per arribar al node de destinació, l'arrel està a l'alçada 0. Exemple – L'alçada del node E és 2, ja que té dues arestes des de l'arrel.
Propietats de l'arbre binari complet:
- Es diu que un arbre binari complet és un arbre binari adequat on totes les fulles tenen la mateixa profunditat.
- En un arbre binari complet nombre de nodes a la profunditat d és 2 d .
- En un arbre binari complet amb n l'alçada dels nodes de l'arbre és registre (n+1) .
- Tots els nivells excepte l'últim nivell estan completament plens.
Arbre binari perfecte vs arbre binari complet:
Un arbre binari d'alçada 'h' amb el màxim nombre de nodes és a perfecte arbre binari.
Per a una alçada determinada h , el nombre màxim de nodes és 2 h+1 -1 .
A completa arbre binari d'alçada h és un arbre binari perfecte fins a l'alçada h-1 , i a l'últim nivell, els elements s'emmagatzemen en ordre d'esquerra a dreta.
Exemple 1:

Un arbre binari
L'alçada de l'arbre binari donat és 2 i el nombre màxim de nodes en aquest arbre és n= 2h+1-1 = 22+1-1 = 23-1 = 7 .
Per tant podem concloure que ho és un arbre binari perfecte .
Ara per a un arbre binari complet, està ple fins a l'alçada h-1 és a dir; 1, i els elements de l'últim nivell s'emmagatzemen en ordre d'esquerra a dreta. Per tant, també és un arbre binari complet. Aquí hi ha la representació dels elements quan s'emmagatzemen en una matriu

Element emmagatzemat en una matriu nivell per nivell
A la matriu, tots els elements s'emmagatzemen contínuament.
Exemple 2:
python os listdir

Un arbre binari
L'alçada de l'arbre binari donat és 2 i el nombre màxim de nodes que hi hauria d'haver són 2h+1– 1 = 22+1– 1 = 23– 1 = 7 .
Però el nombre de nodes de l'arbre és 6 . Per això és no és un arbre binari perfecte .
Ara per a un arbre binari complet, està ple fins a l'alçada h-1 és a dir; 1 , i l'element de l'últim nivell s'emmagatzemen en ordre d'esquerra a dreta. Per tant, això és un arbre binari complet . Emmagatzema l'element en una matriu i serà com;

Element emmagatzemat en una matriu nivell per nivell
Exemple 3:
llenguatge màquina

Un arbre binari
L'alçada de l'arbre binari és 2 i el nombre màxim de nodes que hi pot haver és 7, però només hi ha 5 nodes, per tant no és un arbre binari perfecte .
En el cas d'un arbre binari complet, veiem que en l'últim nivell els elements no s'omplen d'esquerra a dreta. Així és no és un arbre binari complet .

Element emmagatzemat en una matriu nivell per nivell
Els elements de la matriu no són continus.
Arbre binari complet vs arbre binari complet:
Per a un arbre binari complet, cada node té 2 fills o 0 fills.
Exemple 1:

Un arbre binari
En l'arbre binari donat no hi ha cap node de grau 1, ja sigui 2 o 0 fills per a cada node, per tant és un arbre binari complet .
Per a un arbre binari complet, els elements s'emmagatzemen nivell per nivell i no des del costat més esquerre de l'últim nivell. Per tant, això és no és un arbre binari complet . La representació de la matriu és:

Element emmagatzemat en una matriu nivell per nivell
Exemple 2:

Un arbre binari
En l'arbre binari donat no hi ha cap node de grau 1. Cada node té un grau de 2 o 0. Per tant, és un arbre binari complet .
Per a un arbre binari complet, els elements s'emmagatzemen nivell per nivell i s'omplen des del costat més esquerre de l'últim nivell. D'aquí que això a arbre binari complet . A continuació es mostra la representació matricial de l'arbre:

Element emmagatzemat en una matriu nivell per nivell
Exemple 3:

Un arbre binari
En l'arbre binari donat, el node B té el grau 1 que viola la propietat de l'arbre binari complet, per tant, és no és un arbre binari complet
algorisme k-nn
Per a un arbre binari complet, els elements s'emmagatzemen nivell per nivell i s'omplen des del costat més esquerre de l'últim nivell. Per tant, això és un arbre binari complet . La representació matricial de l'arbre binari és:

Element emmagatzemat en una matriu nivell per nivell
Exemple 4:

un arbre binari
En el node d'arbre binari donat, C té el grau 1 que viola la propietat d'un arbre binari complet, per tant és no és un arbre binari complet
Per a un arbre binari complet, els elements s'emmagatzemen nivell per nivell i s'omplen des del costat més esquerre de l'últim nivell. Aquí el node E viola la condició. Per tant, això és no és un arbre binari complet .
Creació d'un arbre binari complet:
Coneixem a arbre binari complet és un arbre en què tret de l'últim nivell (per exemple l )tot l'altre nivell té ( 2l ) i els nodes estan alineats d'esquerra a dreta.
Es pot representar mitjançant una matriu. Si el pare és índex i així que el nen esquerre està a 2i+1 i el nen adequat és a 2i+2 .
java replaceall

Arbre binari complet i la seva representació en matriu
Algorisme:
Per a la creació d'a Arbre binari complet , necessitem a Pas 1: Inicialitzar l'arrel amb un nou node quan l'arbre estigui buit.
Pas 2: Si l'arbre no està buit, obteniu l'element frontal
- Si l'element frontal no té un fill esquerre, establiu el fill esquerre en un nou node
- Si el fill adequat no està present, establiu el fill adequat com a nou node
Pas 3: Si el node té els dos fills, aleshores pop ho des de la cua.
Pas 4: Posa en cua les dades noves.
Il·lustració:
Considereu la matriu següent:
1. El primer element serà l'arrel (valor a l'índex = 0 )
A es pren com a arrel
2. El següent element (a l'índex = 1 ) serà l'esquerra i el tercer element (índex = 2 ) serà el fill correcte de l'arrel
java inicialitza la matriuB com a fill esquerre i D com a nen dret
3. quart (índex = 3 ) i cinquè element (índex = 4 ) serà el fill esquerre i dret del node B
E i F són fills esquerre i dret de B
4. Element següent (índex = 5 ) es deixarà fill del node D
G es fa fill esquerre del node D
Així és com es crea l'arbre binari complet.
Implementació: Per a la implementació de la construcció d'un arbre binari complet a partir de l'ordre de nivell, s'ofereix el recorregut aquesta publicació .
Aplicació de l'arbre binari complet:
- Ordenació de pila
- Estructura de dades basada en l'ordenació de pila
Comproveu si un arbre binari donat està complet o no: Seguiu aquesta publicació per comprovar si l'arbre binari donat és complet o no.



