Sunteți pe pagina 1din 10

Arbori binari

Arborele din teoria grafurilor este un ………………………………………………………

Arborele binar este un arbore în care fiecare nod are 0, 1, sau 2 descendenţi. Un exemplu de
reprezentare grafică a unui arbore binar este dată în figura de mai jos.

Un arbore binar este o structură de date neliniară în care datele sunt păstrate în noduri.

Definiţii
 O muchie leagă părintele(nod ascendent) de copil (nod descendent sau fiu).

Exemple: Copilul lui 9 este 4, iar părintele lui 11 este 6.

Exerciţii: Completaţi spaţiile libere! Copilul lui 5 este …….., iar părintele lui 4 este …….

 Frunza este un nod care nu are copii.

Exemplu: 4 este o frunză pentru că este un nod care nu are copii.

Exerciţii: Câte frunze are arborele din figura dată? ……………… Care este numărul
maxim de frunze pe care l-ar fi putut avea acest arbore? …………………

 Adâncimea unui nod este egală cu lungimea drumului de la rădăcina arborelui la nod.

Exemplu: Adâncimea nodului 6 este 2 pentru că drumul de la rădăcină la el este 2.

Exerciţii: Care sunt nodurile de adâncime maximă din acest arbore? ……………………..
Ce adâncime are rădăcina unui arbore? .................

 Mulţimea nodurilor care au aceeaşi adâncime n se numeşete nivelul n al arborelui.

Exemplu: Nivelul 1 al arborelui dat conţine nodurile 7 şi 5

Exerciţii : Completaţi tabelul de mai jos.

Nivelul arborelui Numărul maxim de noduri


0
1
2
3
4
5
6
7
8
 Înălţimea unui arbore este egală cu cea mai mare dintre adâncimile frunzelor arborelui.

Exerciţii: Frunzele acestui arbore sunt …………………………, iar adâncimile lor sunt
…………………….. , aşadar înălţimea arborelui este ………………..

 Dimensiunea unui arbore este dată de numărul total de noduri.

Care este dimensiunea arborelui din figură? ……………………

 Două noduri care au acelaşi părinte se numesc fraţi. Ele se disting unul faţă de celălalt
prin enunţarea poziţiei lor faţă de părinte (stânga, dreapta).

Exerciţii

1. Câţi arbori binari distincţi de înălţime 1, 2, 3 , …., n se pot construi.


Înălţime Nr. arbori 3

0 1
5
1 3

2 21 ,

2. Care este numărul minim şi cel maxim de noduri pentru un arbore cu înălţimea h.

h  1  n  2 h 1  1

Nr. minim noduri înălţime Nr. maxim noduri

1 0 1

2 1 3

3 2 7

3. Determinaţi înălţimea maximă şi cea minimă pentru un arbore cu n noduri.

 log  n  1  1  h  n  1
2

4. Câţi arbori distincţi cu n noduri se pot construi.


Nr. noduri Nr. Arbori = numărul Catalan =
 2n !
 n  1!n!

1 1

2 2

3 5

Completaţi ultimul nivel cu arborii care lipsesc

 2n !
Calculând
 n  1!n! pentru n=4 obţinem 14, deci mai lipsesc 8 arbori. Aceştia sunt:
Tipuri de arbori binari
 Un arbore binar plin este un arbore în care fiecare nod are doi sau niciun copil.
 Un arbore binar complet este un arbore plin în care toate frunzele au aceeaşi adâncime.
Un arbore binar complet cu n noduri este un arbore în care toate frunzele au
adâncimea n sau n-1.
 Un arbore binar aproape complet este un arbore în care orice nod care are copil drept
are şi copil stâng. (se foloseşte şi definiţia complementară dacă are copil stâng trebuie
să aibă neapărat şi drept).
 Un arbore binar este echilibrat dacă diferenţa dintre adâncimea frunzelor este mai
mică sau egală cu 1.

Exerciţii: Daţi exemple de arbori binari plini, compleţi, aproape compleţi, echilibraţi.

Metode de alocare a arborilor


1. Alocarea secvenţială

Memorarea informaţiilor din nodurile arborelui într-un vector respectând regula: rădăcina
arborelui se aşează pe prima poziţie din vector, iar pentru un nod care are indicele i copilul
său stâng se va regăsi în vector pe poziţia 2i+1 iar copilul său drept pe poziţia 2i+2.
Dimensiunea vectorului utilizat trebuie să corespundă numărului maxim de noduri pentru
înălţimea dată a arborelui.Aşadar dacă arborele nu este complet această metode de alocare
este mare consumatoare de memorie.

Exerciţii:

1. Reprezentaţi secvenţial arborele din figura dată la început.


2. Fiind dată reprezentarea secvenţială de mai jos reconstruiţi arborele.
2. Alocare înlănţuită

Pentru alocarea înlănţuită a unui arbore se folosesc noduri de forma


ceea ce va permite economisirea spaţiului de memorie.

3. Mixtă
Se foloseşte un tablou în care pe coloana 1 se păstrează informaţiile din noduri iar pe
coloanele 2 şi trei se păstrează adresele legăturilor stânga, respectiv dreapta.

INFO LS LD

1 - 2 3

2 * 4 5

3 / 6 7

4 + 8 9

5 c nil nil

6 2 nil nil

7 ^ 10 11
8 a nil nil

9 b nil nil

10 c nil nil

11 3 nil nil

Exerciţiu: Realizaţi alocarea mixtă a arborelui dat la alocarea înlănţuită.

Parcurgeri de arbori
Preordinea RSD parcurge recursiv rădăcina, legătura stângă şi apoi cea dreptă.

Exemplu: pargurgerea în preordine a arborelui dat ca exemplu la început este:

2,7, 2, 6, 5, 11, 5, 9, 4

Inordinea SRD parcurge recursiv legătura stângă, rădăcina şi apoi legătura dreaptă, ea
reprezintă o proiecţie a arborelui pe o dreaptă orizontală.

Exemplu: pargurgerea în inordine a arborelui dat ca exemplu la început este:

2, 7, 5, 6, 11, 2 , 5, 4, 9

Postordinea SDR parcurge recursiv legătura stângă, cea dreaptă şi apoi rădăcina

Exemplu: pargurgerea în postordine a arborelui dat ca exemplu la început este:

2, 5, 11, 6, 7, 4, 9, 5, 2

Un arbore mai poate fi parcurs pe nivele – începând cu nivelul 0 se citesc nodurile de la


stânga la dreapta.

Exemplu: pargurgerea pe nivele a arborelui dat ca exemplu la început este:

2, 7, 5, 2, 6, 9, 5, 11, 4

Observaţii : RSD, SRD şi SDR sunt cazuri particulare ale parcurgerii în adâncime din teoria
grafurilor. Iar parcurgerea pe nivele reprezintă cazul particular al parcurgerii în lăţime.

Exerciţii :

1. Scrieţi parcurgerile RSD, SRD, SDR şi pe nivele pentru arborele.


Reconstrucţia cunoscând parcurgerile
Fiind daţi arborii de mai jos să se scrie cele patru parcurgeri şi să se decidă care este numărul
minim de parcurgeri şi care dintre acestea sunt necesare pentru a reconstrui în mod unic un
arbore.

RSD
RSD
SRD
SRD
SDR
SDR
N
N

Exerciţiu:

Reconstruiţi arborele ale căror parcurgeri sunt:

RSD: 2, 7, 8, 6, 3, 11, 5, 9, 4

SRD: 8, 7, 3, 6, 11, 2, 5, 4, 9
SDR: 8, 3, 11, 6, 7, 4, 9 ,5, 2

N: 2, 7, 5, 8, 6, 9, 3, 11, 4

Transformarea unui arbore n-ar într-unul binar


Regula după care se face această transformare este: primul descendent este fiul stâng iar
ceilalţi descendenţi de acelaţi ordin sunt fii drepţi ai fiului anterior.

Exerciţiu: Transformaţi arborele n-ar într-un arbore binar

Puţină istorie
Dacă avem expresia 3+4 arborele ataşat ei este

Parcurgerile acestui arbore sunt:


RSD: +, 3, 4 numită scriere poloneză prefixată

SDR: 3, 4, + numită scriere poloneză postfixată

inventată în 1920 de polonezul Jan Łukasiewicz

Inventată în 1950 şi publicată în 1957 de australianul Charles Hamblin