Documente Academic
Documente Profesional
Documente Cultură
Gabriel Dragomir
(gabriel.dragomir@cs.utcluj.ro)
1
Arbore binar
Orice nod are cel mult doi descendeni:
fiu stng
fiu drept
Operaii:
Construire
Traversare
tergere
2
ABD*G***CE**F*H**
3
Subarbore (subtree)
Stng sau drept mulimea de noduri coninut
de structura ce ncepe cu fiul stng sau drept
(subarborele stng al lui A conine nodurile: B, D,
G)
Nod ascendent
Un nod la care se poate ajunge plecnd de la un nod fiu
ctre nodul printe (C este ascendent al lui H)
Nod intern
Un nod cu cel puin un fiu (B, C, D, F)
5
Cale (path)
O secven de noduri i arce ntre un nod i un
descendent
Nivel (level)
1 + numrul de arce de la nod la nodul rdcin
Adncime (depth)
Numrul de arce de la nod la nodul rdcin
6
Arbore complet
Un arbore n care fiecare nod frunz se gsete la
aceeai distan de nodul rdcin
Pdure
O mulime format din arbori disjunci
7
Lrgime
A, B, C, D, E, F, G, H
Adncime
A, B, D, G, C, E, F, H
9
Preordine
A, B, D, G, C, E, F, H
Postordine
G, D, B, E, H, F, C, A
10
Inordine
D, G, B, A, E, C, F, H
11
Preordine
Implementare:
TIP_NOD *construire( )
{
TIP_NOD *p = NULL;
char c;
scanf(%c, &c);
if(c != *)
12
Arbori oarecare
Nodurile au mai mult de doi descendeni
Construire:
Nodurile sunt citite n postordine i adresele sunt
pstrate ntr-o stiv pn cnd apare nodul printe;
Pentru fiecare nod se citete informaia util i
numrul de fii;
n momentul citirii unui nod printe, adresele fiilor
sunt scoase din stiv, i sunt trecute n nodul
printe, dup care adresa nodului printe este pus
n stiv;
n final singura adres din stiv va fi cea a nodului
rdcin.
20
Arbori oarecare
Traversare n lrgime:
printf(\nEroare de introducere);
return NULL;
}
i--;
}
25
26
29
31