Sunteți pe pagina 1din 68

CUPRINS

CAPITOLUL I
GRAFURI NEORIENTATE------------------------------------------------------------3
1.1 Grafuri neorientate - No iuni de baz -----------------------------------------------------3
1.2 Clase speciale de grafuri neorientate-------------------------------------------------------8
1.3 Reprezentarea grafurilor neorientate--------------------------------------------------------9
1.4 arcurgerea grafurilor neorientate --------------------------------------------------------14
1.! Cone"itate #n grafuri neorientate ----------------------------------------------------------2$
CAPITOLUL II
ARBORI ----------------------------------------------------------------------------30
2.1 %rbori. No iuni introducti&e --------------------------------------------------------------3'
2.2 %rbori cu rdcin---------------------------------------------------------------------------34
2.3 %rbori binari----------------------------------------------------------------------------------38
2.3.1 Clase speciale de arbori binari ---------------------------------------------------39
2.3.2 ropriet i ale arborilor binari ---------------------------------------------------41
2.3.3 Reprezentarea arborilor binari ---------------------------------------------------43
2.3.4 Crearea i parcurgerea arborilor binari. -----------------------------------------4(
2.4 %rbori binari de cutare.--------------------------------------------------------------------!1
2.4.1 )pera ii cu arborii binari de cutare. --------------------------------------------!1
2.4.2 %rbori binari de cutare ec*ilibra i ----------------------------------------------!$
CAPITOLUL III
GRAFURI ORIENTATE--------------------------------------------------------------60
3.1 Grafuri orientate - No iuni de baz ------------------------------------------------------$'
3.2. +ru,uri i circuite #n grafuri orientate --------------------------------------------------$3
3.3 +ru,uri opti,e #ntr-un graf----------------------------------------------------------------$8
3.4 Re-ele de transport---------------------------------------------------------------------------8'
CAPITOLUL I
ELEMENTE DE TEORIA GRAFURILOR.
GRAFURI NEORIENTATE
1.1 GRAFURI NEORIENTATE NO IUNI DE BAZ
Defini ie: .e nu,e/te graf neorientat, o perec*e ordonat de ,ul-i,i G0123453 unde 2
este o ,ul i,e finit /i ne&id de ele,ente nu,ite &6rfuri sau noduri i 4 este o ,ul i,e de
perec*i neordonate de c6te dou ele,ente din 23 nu,ite ,uc*ii.
7n cazul general3 #ntr-un graf neorientat G 0 123 45 utiliz, nota iile 8
, 9 nu,rul ,uc*iilor : n 9 nu,rul &6rfurilor :
2 0
{ }
n
x x x 3...3 3
2 1
9 ,ul-i,ea &6rfurilor :
4 0
{ }
m
u u u 3...3 3
2 1
9 ,ul-i,ea ,uc*iilor :
+ac o ,uc*ie trece prin nodurile " /i ;3 atunci ea se noteaz <"3 ;=.
>uc*ia u
?
este o perec*e neordonat <a3 b= alctuit din dou ele,ente din 2.
Defini ie: entru o ,uc*ie u
?
0 <"3 ;=3 &o, spune c 8
&6rfurile " /i ; sunt adiac!" /i se nu,esc e"tre,it-ile ,uc*iei u
?
:
,uc*ia u
?
/i &6rful " sunt i!cid!" #n graf. @a fel3 ,uc*ia u
?
/i &6rful ;:
,uc*ia <"3 ;= este totuna cu ,uc*ia <;3 "= 1nu e"ist o orientare a ,uc*iei5
Defini ie: G#ad$% unui &6rf "3 notat d1"53 reprezint nu,rul ,uc*iilor care trec prin
nodul " 1,uc*ii incidente cu nodul "5.
4n &6rf care are gradul ' se nu,e/te &'#( i)*%a".
4n &6rf care are gradul 1 se nu,e/te &'#( "#+i!a%.
Teorem: 7ntr-un graf neorientat G 0 123 45 cu n &6rfuri /i , ,uc*ii3 su,a gradelor
tuturor &6rfurilor este egal cu 2A,.
. 2 5 1 ... 5 1 5 1 5 1
1
2 1
m x d x d x d x d
n
n
i
i
+ + +

+e,onstra ie8 Biecare ,uc*ie de for,a <"


i
3 "
C
= 1unde "
i
i "
C
sunt &6rfuri3 cu i3 C D13 23.3
nE53 contribuie cu o unitate la gradul &6rfului i i cu o unitate la gradul &6rfului C. % adar fiecare
,uc*ie adaug dou unit i la su,a gradelor. Cu, #n graf sunt + ,uc*ii3 rezult foarte clar c
su,a gradelor este 2A,.
7n particular3 su,a gradelor este un nu,r par. +e aici se deduce ur,torul corolar.
Corolar: entru orice graf neorientat G nu,rul &6rfurilor de grad i,par este par.
Exemplu :
entru graful G 0123 45 din figura 1 a&e,8
20 D13 23 33 43 !3 $3 (E 9 ,ul i,ea &6rfurilor 1 nodurilor5
40D <13 2=3 <13 3=3 <13 !=3 <33 4=3 <43 !=3 <!3 (=E 9 ,ul i,ea ,uc*iilor

- d115 0 3 : d125 0 1 : d135 0 2 : d145 0 2 : d1!5 0 3 : d1$5 0 ' : d1(5 0 1 :
- &6rful $ este &6rf izolat :
- &6furile 2 i ( sunt &6rfuri ter,inale.
Defini ie: .e nu,e/te %a!, #n graful G3 o succesiune de &6rfuri @ 0 1"
1
3 "
2
3.3 "
?
53 unde "
1
3
"
2
3.3 "
?
23 cu proprietatea c oricare dou &6rfuri consecuti&e sunt adiacente3 adic e"ist
,uc*iile <"
1
3 "
2
=3 <"
2
3 "
3
=3F3 <"
?-1
3 "
?
= 4.
G6rfurile "
1
/i "
?
se nu,esc -"#+i".,i% %a!,$%$i/ iar nu,rul de ,uc*ii care intr #n
co,ponen-a sa reprezint lungi,ea lan-ului.
+ac &6rfurile "
1
3 "
2
3.3 "
?
sunt distincte dou c6te dou3 %a!,$% se nu,e/te %+!"a#. Hn
caz contrar3 lan-ul este !%+!"a#.
Big. 1
1
2
3
4
!
(
$
Defini ie: .e nu,e/te cic%$ #ntrIun graf3 un lan- @ 0 1"
1
3 "
2
3.3 "
?
5 cu proprietatea c "
1
0
"
?
/i ,uc*iile <"
1
3 "
2
=3 <"
2
3 "
3
=3 F3 <"
?-1
3 "
?
= sunt distincte dou c6te dou.
+ac #ntr I un ciclu3 toate &6rfurile cu e"cep-ia pri,ului /i a ulti,ului sunt distincte dou
c6te dou3 atunci cic%$% se nu,e/te %+!"a#. 7n caz contrar3 el este !%+!"a#.
Exemplu :
7n graful din figura 23 pute, distinge ur,toarele lan uri8
@
1
0 123 13 !3 45 - lan- ele,entar
@
2
0 123 13 33 43 !3 13 (5 - lan- neele,entar
C
1
0 113 33 43 !3 15 - ciclu ele,entar
C
2
0 1$3 (3 13 $5 - ciclu ele,entar
C
3
0 1(3 13 33 43 !3 13 $3 (5 - ciclu neele,entar
Observa ii: 7n cadrul unui lan-3 ,uc*iile se pot repeta3 dar #n cadrul unui ciclu ele
trebuie s fie distincte.
Definiie8 .e nu,e/te graf par-ial al unui graf neorientat G0 123 45 un graf neorientat
G
1
0 123 G53 cu G

4 1adic3 un graf par-ial G


1
este graful G #nsu/i sau se ob-ine din graful G
ini-ial prin supri,area unor ,uc*ii5.
Big. 2
1
2
3
4
!
(
$
Exemplu8 entru graful din figura 13 un graf par-ial poate fi8
adic G
1
0 123 G53 unde 20 D13 23 33 43 !3 $3 (E i G0D <13 2=3 <13 !=3 <33 4=3 <!3 (=E este un
graf par-ial.
Definiie8 .e nu,e/te subgraf al unui graf neorientat G 0 123 45 un graf neorientat G
2
0
1J3 G5 astfel #nc6t J 23 iar G con-ine toate ,uc*iile din 4 care au a,bele e"tre,it-i #n J3
adic un subgraf al unui graf neorientat G3 se ob-ine prin eli,inarea unor &6rfuri /i a tuturor
,uc*iilor incidente cu &6rfurile eli,inate.
Exemplu8 entru graful din figura 13 un subgraf ar putea fi8
Graful G
2
0 1J3 G53 unde J 0 D13 23 43 !3 (E /i G 0 D <13 2=3 <13 !=3 <43 !=3 <!3 (=E este un
subgraf al grafului G0123 45.
Big. 4
1
2
4
!
(
$
3
Big. !
1
2
4
!
(
Definiie8 4n graf neorientat G0 123 45 se nu,e/te c*!- dac pentru oricare dou
&6rfuri distincte "3 ; 23 e"ist #n G un lan- a&6nd drept e"tre,it-i pe " /i ;.
Exemplu8
Graful din figura $ este cone" pentru ca oricare doua &6rfuri sunt unite cu un lan 3 pe
c6nd cel din figura ( nu este cone"3 pentru c nu e"ist nici un lan- care s uneasc &6rfurile 1 cu
83 sau 1 cu (3 sau 3 cu ! etc.
Definiie8 .e nu,e/te co,ponent cone" a unui graf G0123 453 un subgraf cone" al
su G
1
01J3 G5 ,a"i,al #n raport cu aceast proprietate3 adic3 oricare ar fi un nod " 4-G3 nu
e"ist lan- #ntre acel nod /i &6rfurile care fac parte din subgraf.
Exemplu8 Graful din figura ( nu este cone"3 dar con-ine dou co,ponente cone"e8 G
1
0
1J
1
3 G
1
53 unde J
1
0 D13 23 3E /i G
1
0 D<13 2=3 <13 3=3 <23 3=E /i cea de a doua co,ponent cone"
G
2
0 1J
2
3 G
2
53 unde J
2
0 D43 !3 $3 (3 8E /i G
2
0 D<43 !=3 <43 8=3 <!3 $=3 <$3 (=3 <(3 8=E.
Big. $
Big. (
1
2
3
4
!
$ (
8
1
4
1
2
3
4
!
$ (
8
1 3
2
4
!
1.0 CLASE SPECIALE DE GRAFURI NEORIENTATE
Defini ie: .e nu,e te 1#a( c*+2%" cu n &6rfuri3 notat K
n
3 un graf G0 123 45 cu
proprietatea c oricare dou &6rfuri sunt adiacente3 adic8
U y x muchia X y x = 3 < 3 5 1
Exemplu : Bie ur,torul graf neorientat8 G0123 45.
Bigura 8
Graful neorientat din figura 8 este co,plet deoarece #ntre oricare dou &6rfuri ale sale
e"ist ,uc*ii care le leag i se noteaz K
!

ropriet ile grafurilor co,plete8
1. d115 0 d125 0 F 0 d1n5 0n-1:
2. +intre toate grafurile cu n noduri3 K
n
are nu,rul ,a"i, de ,uc*ii.
Teorem: 4n graf co,plet cu ! &6rfuri3 are
2
5 1 1 A n n
,uc*ii.
Defini ie: 4n graf G 0 123 45 se nu,e/te 3i2a#"i" dac e"ist dou ,ul-i,i ne&ide % si
L incluse in 2 astfel #nc6t8
20% 4 L3
% L 0
toate ,uc*iile grafului G au o e"tre,itate #n % iar cealalt #n L.
Exemplu: Bie graful G 01 23 453 unde 20D13 23 33 43 !E iar 4 0D<133=3 <234=3 <23!=E:
Consider, ,ul i,ile8 % 0 D13 2E i L0 D33 43 !E. Gener, graful bipartit ur,tor ( figura 9):
Bigura 9
1
2
3 4
!
.e obser& c propriet ile grafului bipartit sunt #ndeplinite adic8 20% 4 L3 % L 0
iar fiecare ,uc*ie are o e"tre,itate #n % i o e"tre,itate #n L.
Definiie: 4n graf 3i2a#"i" se nu,e/te 1#a( 3i2a#"i" c*+2%" dac pentru orice &6rf " din
% /i orice &6rf ; din L3 e"ist ,uc*ia <"3 ;= 1 unde % i L sunt dou sub,ul i,i care
parti ioneaz ,ul i,ea &6rfurilor 25.
Exemplu: Bie graful G 01 23 453 unde 20D13 23 33 43 !E iar 40D<133=3 <134=3 <13!=3 <233=3
<234=3 <23!=E. Consider, ,ul i,ile8 % 0 D 13 2 E i L0 D 33 43 !E care genereaz graful bipartit
co,plet ur,tor8
Bigura 1'
1.3 REPREZENTAREA GRAFURILOR NEORIENTATE
Consider, un graf neorientat G 0 123 45 cu , ,uc*ii i n &6rfuri nu,erotate 13 23.3 n.
M"ist ,ai ,ulte ,etode de reprezentare a grafurilor neorientate3 dar cele ,ai cunoscute
sunt8 matricea de adiacen ! listele vecinil"r! lista de adiacen i vect"rul de muchii#
1. Matricea de adiacen
Mste o ,atrice % cu n linii /i n coloane3 #n care ele,entele a<i3 C= se definesc astfel8

'

altfel
$ i cu $ i muchia daca
$ i a
3 '
=3 3 < 3 1
= 3 <
Exemplu8
1
2
4
3
1
4
2
!
3
Big. 11
!
entru graful G0123 45 din figura 11! ,atricea de adiacen asociat este8
Observa ie: +eoarece ,uc*ia <a3 b= este totuna cu ,uc*ia <b3 a=3 rezult c a<i3 C= 0 a<C3 i=3
oricare ar fi i3 C
E ...3 3 2 3 1 D n
.
P#*2#i". i% +a"#ici d adiac! .4
Noate ele,entele de pe diagonala principal sunt egale cu ':
Mste si,etric fa de diagonala principal3 adic a<i3 C=0a<C3 i=3 oricare ar fi i3 C
D13 23 F.3 nE3 cu iOC.
.u,a ele,entelor de pe linia Pcoloana i reprezint gradul nodului i:
+ac ele,entele de pe liniaP coloana i sunt toate egale cu ' atunci nodul este
izolat:
2. Listele ecinilor
entru fiecare nod i3 cu i
E 3...3 2 3 1 D n
3 for,, lista &ecinilor lui i. %ceasta cuprinde
toate nodurile care sunt e"tre,it-i ale ,uc*iilor ce trec prin nodul i.
Exemplu8 entru graful G0123 45 din figura %3 listele &ecinilor sunt8
@ista asociata unui nod este for,ata din nodurile adiacente. +aca nodul este izolat lista
corespunztoare este &ida.
nodul listele &ecinilor
1
2
3
4
!
33 4
13 4
13 33 !
4

,
_

' 1 ' ' '


1 ' 1 ' 1
' 1 ' ' 1
' ' ' ' '
' 1 1 ' '
&
!. Listele de adiacen
%ceast ,etod este indicat #n cazul #n care graful are un nu,r ,are de &6rfuri i un
nu,r ,ic de ,uc*ii. %ceast ,etod de reprezentare a grafurilor are dou &ariante.
"arianta #.
rincipiul acestei ,etode de ,e,orare const #n8
entru fiecare &6rf 5 se alctuie te lista &ecinilor si3 notat @
?
.
entru un graf cu ! &6rfuri i + ,uc*ii3 se construie te apoi un &ector care con ine
adresele celor n liste ale &ecinilor fiecrui &6rf3 plus cele n liste propriu I zise. 7ntregul graf poate
fi pri&it ca un tablou N3 bidi,ensional3 cu 2 linii i !60+ coloane. Nu,rul de coloane este
stabilit in6nd sea,a de faptul c pentru fiecare nod al grafului este necesar o coloan 1 deci !
coloane5 i pentru fiecare ,uc*ie trebuie specificate cele dou noduri adiacente3 1deci #nc 0+
coloane5. .e poate folosi alocarea static i dina,ica.
Co,pletarea tabloului se face astfel8
- pri,a linie N<13 C=8
a5 dac 1 7 !/ atunci N<13 C=0C:
b5 dac !61 7 !60+3 atunci N<13 C= con ine ele,entele listelor
@
?
:
- a doua linie N<23 C=8
a5 dac 1 7 !/ atunci N<23 C=0p3 unde p este coloana unde se afl pri,ul
ele,ent din lista @
C
3 1 corespunztoare fiecrui nod C5.
b5 dac !61 7 !60+3 atunci
b15 dac N<13 C= nu este ulti,ul ele,ent al listei @
C
3 atunci N<23 C= 0p3 unde 2
este indicele coloanei unde se afl ele,entul ce ur,eaz &6rfului N<13 C= #n lista @
?
b25 dac N<13 C= este ulti,ul ele,ent al listei @
?
3 atunci N<23 C= 0'
>e,oria necesar reprezentrii este propor ional cu su,a dintre nu,rul de noduri i
nu,rul de ,uc*ii ale grafului3 dar ti,pul de cutare al unei ,uc*ii este propor ional cu ptratul
nu,rului de &6rfuri 1 dac graful are ! &6rfuri3 atunci un &6rf poate a&ea !-1 &6rfuri adiacente5.
.pre deosebire de reprezentarea prin ,atricea de adiacen 3 reprezentarea prin liste de adiacen
folose te ,ai eficient ,e,oria3 dar cutarea efecti& a ,uc*iilor este ,ult ,ai ane&oioas.
Exemplu: Bie graful G 0123 45 din figura ' cu !89 &6rfuri i +86 ,uc*ii.
Big. 12
1
2
3
4
!
entru graful din figura 12 tabloul bidi,ensional N &a a&ea 2 linii i 1( coloane i &a a&ea
ur,toarea for,8
entru fiecare nod ?/ lista L
5
a &ecinilor si este8
G6rful ? @ista @
?
a &6rfurilor adiacente cu &6rful ?
1 23 33 4
2 13 3
3 13 23 4
4 13 33 !
! 4
C 1 2 3 4 !
@
1
@
2
@
3
@
4
@
!
$ ( 8 9 1' 11 12 13 14 1! 1$ 1(
N<13C= 1 2 3 4 ! 2 3 4 1 3 1 2 4 1 3 ! 4
N<23C= $ 9 11 14 1( ( 8 ' 1' ' 12 13 ' 1! 1$ ' '

"arianta ##.
) alt &ariant de reprezentare a unui graf G0 123 45 cu ! noduri i + ,uc*ii3 creeaz
o ,atrice L/ nu,it +a"#ic d %1."$#i/ cu 2 linii i 2, coloane astfel8
- @<13 C= se co,pleteaz cu toate ele,entele listelor @
C
3 1corespunztoare
fiecrui nod 7 #n parte5:
- @<23 C= se co,pleteaz astfel8
a. dac @<13 C= nu este ulti,ul ele,ent al listei @
C
3 atunci
@<23 C= 0p3 unde 2 este indicele coloanei unde se afl ele,entul ce ur,eaz &6rfului
@<13 C= #n lista @
C
:
b. dac @<13 C= este ulti,ul ele,ent al listei @
C
3 atunci @<23
C= 0':
Hndicele coloanei din @ care con ine pri,ul ele,ent din lista @
C
se re ine #n coloana 7 a
unui tablou unidi,ensional C%. Ra iona,entul este analog cu cel descris pentru tabloul N
ob in6ndu-se8
C 1 2 3 4 !
C% 1 4 $ 9 12
%,bele &ariante de reprezentare a listelor de adiacen pot folosi o alocare static dar i
o alocare dina,ic a ,e,oriei.
$. "ectorul de muc%ii
>uc*iile grafului &or fi stocate #ntr-un &ector cu ele,ente de tip #nregistrare cu dou
co,ponente8 cele dou &6rfuri care constituie e"tre,it ile ,uc*iei. Not6nd aceste e"tre,it i
cu " i ;3 pute, defini tipul de date +$c:i3 astfel8
;"#$c" +$c:i < $!;i1!d -/ =>?
Graful #n ansa,blul su3 este o ,ul i,e de ,uc*ii3 adic o ,ul i,e de ele,ente de tipul
+$c:i. 7n consecin 3 defini, graful ca un Q&ector de ,uc*iiR3 adic un &ector cu ele,ente de
tipul "+$c:i8 +$c:i &@30A?
Nu,rul real de ele,ente este nu,rul de ,uc*ii ,. %stfel3 ele,entele efecti& folosite
ale &ectorului &or fi &<1=3 &<2=3 F3 &<,=. Biecare ele,ent &<i= 1 cu i013 23 F3 ,5 este de tipul
+$c:i i reprezint o ,uc*ie a grafului3 a&6nd dou co,ponente8 &@iA.- i &@iA.= reprezent6nd
e"tre,it ile ,uc*iei i din graf.
C
@
1
@
2
@
3
@
4
@
!
1 2 3 4 ! $ ( 8 9 1' 11 12
@<13C= 2 3 4 1 3 1 2 4 1 3 ! 4
@<23C= 2 3 ' ! ' $ 8 ' 1' 11 ' '
1.B PARCURGEREA GRAFURILOR NEORIENTATE
arcurgerea unui graf neorientat presupune &izitarea &6rfurilor #ntr-o anu,it ordine3
dat de un anu,it criteriu.
M"ist dou ,etode de parcurgere8
&arcurgerea 'n l ime ()*(readt% )irst+,
&arcurgerea 'n ad-ncime D)*Dept% )irst+,
A%1*#i"+$% d 2a#c$#1# C! %. i+ BF
%lgorit,ul de parcurgere #n l i,e 1algorit,ul lui (""re) ac ioneaz asupra unui graf
neorientat G012345 cu un &6rf fi"at "2. %cesta calculeaz distan ele de la &6rful " la toate
&6rfurile la care se poate aCunge plec6nd din " pe lan uri din G. Hni ial3 toate &6rfurile sunt
neetic*etate.
Hdeea algorit,ului de parcurgere #n l i,e este8
- plec6nd din &6rful " se &iziteaz fiecare &6rf adiacent cu "3 dup care se
&iziteaz toate &6rfurile adiacente cu acesta care nu au fost &izitate #nc. 7n continuare se
alege pri,ul &6rf adiacent cu &6rful de pornire i se &iziteaz toate &6rfurile adiacente cu
acesta ne&izitate #nc: se continu #n acest ,od p6n c6nd &izit, toate &6rfurile
accesibile din ".
E-+2%$4 Fi 1#a($% !*#i!"a" G8 DE/ UF di! figura 12
Bigura 12
Go, parcurge #n l i,e acest graf pornind de la &6rful de start 18
Pa ii 2a#c$#1#ii N*d$#i &i)i"a"
&izit, ,ai #nt6i &6rful de start 1:
1
&izit, apoi &ecinii lui 13 care sunt 23 ! i $
23 !3 $
entru fiecare dintre ace ti &ecini ai lui 13 &izit, &ecinii si ne&izita i
#nc8
- &ecinii lui 2 sunt 13 3 i 43 dar ne&izita i sunt nu,ai 3 i 4
- &ecinii lui ! sunt 13 2 i (3 dar ne&izitat este nu,ai (:
- &6rful $ nu are &ecini ne&izita i:
33 4
(
%, &izitat p6n acu, &ecinii &6rfurilor 13 23 ! i $. >ai trebuie
&izita i &ecinii noilor &6rfuri care au fost &izitate la pasul anterior i
anu,e &ecinii &6rfurilor 33 4 i (. )bser&, c aceste &6rfuri nu ,ai au
&ecini ne&izita i3 deci parcurgerea se #nc*eie.
entru &6rful de pornire 13 atunci parcurgerea LB este8 13 23 !3 $3 33 43 (.
entru &6rful de pornire ( a&e, ur,toarea parcurgere8 (3 !3 $3 13 23 33 4
entru i,ple,entarea algorit,ului &o, folosi un &ector c8Dc1/ c0/ G/ c
5
F care are
propriet ile unei cozi3 #n care &o, introduce nodurile #n ordinea &izitrii i un &ector &88D&1/
&0/ G/ &
5
F ce con-ine &aloarea &<i=0' pentru &6rful i ne&izitat i &aloarea &<i=01 pentru &6rful i
&izitat. Capetele de introducere i e"tragere &or fi identificate prin pozi iile 2 i respecti& $.
1. Hntroduce, ,ai #nt6i nodul de start #n coad3 i-l consider, &izitat.
2. 7n ,od repetat3 p6n la epuizarea nodurilor din coad3 efectua, ur,toarele
opera-ii8
entru nodul aflat pe pozitia p identifica, to i &ecinii ne&izita i:
Hntroduce, #n coad3 pe la captul de introducere - $3 &ecinii ne&izita i i #i
consider, &izita i.
Repet, pasul 2 p6n la epuizarea nodurilor din coad. 7n &ectorul coad c &o, gsi
nodurile #n ordinea &izitrii.
entru graful din figura 12 e&olu ia algorit,ului &a fi ur,toarea8
1. 2 8 $ 8 1 Hni-ializ, &ectorul & cu '. Hntroduce, #n coad &6rful de start 1 i-l
consider, &izitat.
C0 1
G0 1 ' ' ' ' ' '

2. 281 entru nodul din pozitia p013 respecti& nodul 13 identific, nodurile &ecine ne&izitate
123 !3 $5 pe care le introduce, #n coad i le consider, &izitate. Nrece, la ur,torul nod
p0pS1.
C0 1 0 9 6
G0 1 1 ' ' 1 1 '
3. 280 entru nodul din pozitia p023 respecti& nodul 23 identific, nodurile &ecine ne&izitate
133 45 pe care le introduce, #n coad i le consider, &izitate. Nrece, la ur,torul nod p0pS1.
C0 1 0 ! $ 3 B
G0 1 1 1 1 1 1 '
4. 283 entru nodul din pozitia p033 respecti& nodul !3 identific, nodurile &ecine ne&izitate
1(5 pe care #l introduce, #n coad i-l consider, &izitat. Nrece, la ur,torul nod p0pS1.
C0 1 2 ! $ 3 4 H
G0 1 1 1 1 1 1 1
!. 28B entru nodul din pozitia p043 respecti& nodul $3 nu gsi, noduri &ecine ne&izitate.
Nrece, la ur,torul nod p0pS1.
$. 289 entru nodul din pozitia p0!3 respecti& nodul 33 nu gsi, noduri &ecine ne&izitate.
Nrece, la ur,torul nod p0pS1.
(. 286 entru nodul din pozitia p0$3 respecti& nodul 43 nu gsi, noduri &ecine ne&izitate.
Nrece, la ur,torul nod p0pS1.
8. 28H entru nodul din pozitia p0(3 respecti& nodul (3 nu gsi, noduri &ecine ne&izitate.
Nrece, la ur,torul nod p0pS1. +eoarece pTu rezult c a, parcurs toate nodurile din coad.
)rdinea de parcurgere este ordinea introducerii nodurilor #n coad8 13 23 !3 $3 33 43 (.
Observa ii:
e"tragerea unui &6rf nu #nsea,n eli,inarea lui fizic din coad3 ci este o si,ulare3 ea
realiz6ndu-se nu,ai prin deplasarea ctre dreapta a captului de e"tragere 2 prin ,rirea lui cu o
unitate3 adic 28261?
dup e"tragerea ulti,ului &6rf de pe pozi ia (3 captul de e"tragere 2 de&ine 83 deci se &a
,uta dincolo de captul de introducere (. 7n concluzie ciclul ai crui pa i au fost descri i ,ai
sus se e"ecut c'" "i+2 2I8$.
R2#)!"a#a a%1*#i"+$%$i C! 2;$d*c*d
intregi c<!'=3&iz<!'=3 p3 u3 &3 i3 C3 pri,3 a<!'=<!'=
citeste n3,3 a
n"n

pentru i 13n e"ecuta
&iz<i='
c<i='
citeste pri,
C<1=0pri,
p 0u01
& <pri,=01
Cat ti,p 1pU 0 u5 e"ecuta
"0c<p=
entru C013 n e"ecuta
+aca 1a<"=<C=015 si 1&iz<C=0'5 atunci
u0uS1
c<u=0C
&iz<C=01
p0pS1
pentru i013 u e"ecuta
scrie c<i=
R2#)!"a#a a%1*#i"+$%$i C! %i+3a7$% C66
VincludeUfstrea,.*T
VincludeUconio.*T
int a<1'=<1'=3 n3 ,3 pri, :
&oid parcurgereWbf1 int pri, 5 )) parcurgerea *n l ime
Dint C3 i3 c<2'=3 &iz<2'=3 pri,3 u3 &:
for 1i01: iU0 n: iSS5
D c<i= 0':
&iz<i=0':E
p0 1: u01: c<p= 0pri,: &iz<pri,=01:
X*ile 1p U0 u5
D& 0 c<p=:
for 1C01: CU0n: CSS5
if1a<&=<C=0 01 YY &iz<C=0 0'5 )) *l adaug pe $ *n c"ad dac este vecin pentru v
i nu a f"st vi+itat
Du SS:
c<u=0C:
&iz<C=01:E
p SS: E
E
&oid ,ain15
Dclrscr 1 5:
fstrea, f 1,graf#txt-3 ios88in5:
)) citirea datel"r
fTTnTT,:
for 1int i01: iU0n: iSS5
for 1int C01: CU0n: CSS5
fTTa<i=<C= :
coutUUR +ati nodul de start8 RUUendl:
cinTTpri,:
)) afi are matrice de adiacen
coutUUZ,atricea de adiacenta este 8 ZUUendl: for1 i01: iU0n: iSS5
Dfor1C01: CU0n: CSS5
coutUUa<i=<C=UUZ Z:
coutUUendl: E
)) apelarea pr"cedure de parcurgere
bf 1 pri,5:
)) afi area c"+ii
for1i01: iU0u: iSS5
coutUUc<i=UUZ Z:
getc*1 5:
E
A%1*#i"+$% d 2a#c$#1# C! ad'!ci+ DF
%lgorit,ul de parcurgere #n ad6nci,e a unui graf neorientat a fost propus de .r/maux #n
secolul al 2H2 I lea ca o te*nic de rezol&are a a,uza,entelor ,ate,atice legate de parcurgerea
labirinelor. ) &ersiune a acestui algorit, a fost propus de 0"pcr"ft i .ar$an# %lgorit,ul de
parcurgere #n ad6nci,e a unui graf neorientat este util #n rezol&area diferitelor proble,e care se
refer la grafuri.
Hdeea algorit,ului de parcurgere #n ad6nci,e este8
- se porne te de la un nod " i se alege 2#i+$% di!"# &ci!ii !&i)i"a i ai acestuia:
algorit,ul continu p6n se aCunge la un nod ce are to i &ecinii &izita i. 7n cazul #n care un &6rf
nu ,ai are &ecini ne&izita i atunci ne #ntoarce, la nodul anterior3 iar pentru acel nod cuta,
ur,torul &ecin ne&izitat al su. Go, folosi etic*ete pentru a recunoa te faptul c ne-a, #ntors
#ntr I un &6rf deCa &izitat.
M"e,plu8 Bie graful neorientat G0 123 45 din figura 1%


Bigura 13
%lgorit,ul folose te o structur de tip sti& #n care &a introduce 1sau eli,ina5 nodurile
&izitate din graf i un &ector cu ! co,ponente nu,it & pentru ,arcarea nodurilor &izitate3
ini-ializat cu &aloarea '.
Go, parcurge #n ad6nci,e acest graf pornind de la &6rful de start 4. .e introduce #n sti&
nodul de start. .e afi eaz nodul 4 i se ,arc*eaz ca fiind &izitat.
.N
1 2 3 4 ! $ ( 8
0T 4 G0 ' ' ' 1 ' ' ' '
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 145 respecti& nodul 1. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
.N
p 0T 1 1 2 3 4 ! $ ( 8
4 G0 1 ' ' 1 ' ' ' '
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 115 respecti& nodul 2. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
.N
2 8K 2
1 1 2 3 4 ! $ ( 8
4 G0 1 1 ' 1 ' ' ' '
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 115 respecti& nodul 2. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
.N
2 8K 2
1 1 2 3 4 ! $ ( 8
4 G0 1 1 ' 1 ' ' ' '
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 1258 nu e"ista &ecin ne&izitat.
.e coboar in sti& p0p-1.
.N
2
2 8K 1 1 2 3 4 ! $ ( 8
4 G0 1 1 ' 1 ' ' ' '
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 115 respecti& nodul 3. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
.N
2 8K 3
1 1 2 3 4 ! $ ( 8
4 G0 1 1 1 1 ' ' ' '
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 135 respecti& nodul !. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
.N
2 8K !
3
1 1 2 3 4 ! $ ( 8
4 G0 1 1 1 1 1 ' ' '
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 1!5 respecti& nodul 8. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
2 8K 8
!
3
1 1 2 3 4 ! $ ( 8
4 G0 1 1 1 1 1 ' ' 1
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 1858 nu e"ista &ecin ne&izitat.
.e coboar in sti& p0p-1. Continu, cu selectarea pri,ului &ecin ne&izitat al nodului de pe
pozitia p 1!5 respecti& nodul $. .e introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz
ca fiind &izitat.
2 8K $
!
3
1 1 2 3 4 ! $ ( 8
4 G0 1 1 1 1 1 1 ' 1
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
.electa, pri,ul &ecin ne&izitat al nodului de pe pozitia p 1$58 nu e"ista &ecin ne&izitat.
.e coboar in sti& p0p-1. Continu,3 dar3 negsind &ecini ne&izita-i cobor6, pana la ni&elul
p01.
$
!
3
1 1 2 3 4 ! $ ( 8
2 8K 4 G0 1 1 1 1 1 1 ' 1
.electa, pri,ul &ecin ne&izitat al nodului 4 de pe pozitia p 01 8 respecti& nodul (. .e
introduce #n sti& pe pozitia pS13 se afi eaz i se ,arc*eaz ca fiind &izitat.
2 8K ( 1 2 3 4 ! $ ( 8
4 G0 1 1 1 1 1 1 1 1
.electa, pri,ul &ecin ne&izitat al nodului ( de pe pozitia p 02 8 nu e"ista &ecin ne&izitat.
.e coboar in sti& p0p-1. Continu,3 dar3 negsind &ecini ne&izita-i cobor6, pana la ni&elul
p0'. %lgorit,ul se #nc*eie la epuizarea nodurilor din sti&a.
1 2 3 4 ! $ ( 8
2 80 G0 1 1 1 1 1 1 1 1
entru graful de ,ai sus parcurgerea in ad6nci,e plec6nd de la &6rful 4 este8 43 13 23 33 !3
$3 83 (.
entru i,ple,entarea algorit,ului &o, folosi8
- un &ector ;8D;
1
/ ;
0
/ G/ ;
5
F care reprezint ;"i&a. %stfel e"ist3 #n orice ,o,ent3
posibilitatea de a aCunge de la &6rful curent la pri,ul dintre &ecinii si ne&izita i #nc3
acesta din ur, plas6nduIse #n &6rful sti&ei.
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
1
0 3
9
J
6
B
H
- un &ector $#+ care deter,in3 la fiecare pas3 $#+."*#$% &'#( c &a (i &i)i"a" dup
&6rful ?. entru a-l deter,ina3 se parcurge linia ? din ,atricea de adiacen % asociat
grafului3 #ncep6nd cu ur,torul ele,ent3 p6n se gse te un &ecin C al lui ?3 ne&izitat #nc.
+ac nu se poate deter,ina un astfel de &6rf3 se coboar #n sti&3 #ncerc6nd s se aplice
acela i procedeu ur,torului ele,ent al sti&ei.
- un &ector &i) cu n ele,ente3 #n care ele,entele &iz<?= 1?013 23 F3 n5 au
se,nifica ia8

'

c"ntrar ca+ in
daca
1 vi+
3 '
at fost &izit a ? &arful 3 1
= <
Captul de introducere i e"tragere &a fi identificat prin pozi ia p. entru #nceput ? este
&6rful de start.
Hni ializ, &ectorul &iz cu ' i &ectorul ur, cu ' reprezent6nd pri,a &aloare posibil
pentru fiecare &6rf spre care se poate pleca din &6rful C.
Hntroduce, ,ai #nt6i nodul de start #n sti&3 acesta se re ine ca &6rf curent3 se ,arc*eaz
i se afi eaz.
C'" "i+2 ;"i&a ;" !&id./ ; a!a%i)a). &'#($% c$#!"4
Dac. &'#($% c$#!" +ai a# &ci!i !&i)i"a i4
o se adaug 'n sti -rful ., primul dintre ecinii nei/ita i ai
-rfului curent i se afi ea/,
o -rful . deine -rf curent.
Dac. !$ -i;". $! a;"(% d &'#(4
o se extrage din sti -rful curent,
o -rful precedent celui curent deine -rf curent, dac stia nu este
id.
01sera ii:
deoarece #n cazul #n care un &6rf are ,ai ,ul i &ecini se poate alege oricare
dintre ace tia3 se pot ob ine ,ai ,ulte parcurgeri +B.
entru a eli,ina acest neaCuns3 se face con&en ia ca &ecinii &6rfului curent s se
adauge #n sti& #n ordinea cresctoare a notrii lor.
2epre/entarea algoritmului 'n pseudocod
intregi s<!'=3&iz<!'=3 ur,<!'=3 p3 n3 ,3 ?3 i3 C3 "3 ;3 pri,3 a<!'=<!'=
citeste n3,3 a
n"n

pentru C0 13n e"ecuta
&iz<C=0'
ur,<C=0'

citeste pri,
s<1=0pri,
p 01
&iz <pri,=01
scrie pri,
Cat ti,p 1pT 0 15 e"ecuta
C0s<p=
?0 ur,<C=S1
cat ti,p ?U0n si 1a<C=<?=0' sau a<C=<?=01 si &iz<?=015
?0?S1
)) se determin primul dintre vecinii 1 ai lui $ nevi+ita i *nc
ur,<C= 0?
daca ?0nS1 atunci p0p-1 PP dac nu s-a gsit un ele,ent se coboar #n sti&
altfel
scrie ?
&iz<?=01
p0pS1
s<p=0?

R2#)!"a#a a%1*#i"+$%$i C! %i+3a7$% C66
VincludeUiostrea,.*T
VincludeUconio.*T
int a<1'=<1'=3 n3 ,3 ?3 p3 i3 C3 s<2'=3 ur,<2'=3 &iz<2'=:
&oid init1 5
D int i3 C3 "3 ;:
for1i01: iU0n: iSS5
D&iz<i=0 ur,<i=0':
for1C01: CU0n: CSS5 a<i=<C=0':E
cinTTnTT,:
for1i01: iU0,: iSS5
DcoutUUZ,uc*iaZUUiUUZesteZ:
cinTT"TT;:
a<"=<;=0a<;=<"=01:E
E
&oid df1 5 )) parcurgem graful cu met"da 23
Dint C:
C0s<p=:
?0ur,<C=S1:
X*ile1?U0n YY a<C=<?=00' [[ 1a<C=<?=001 YY &iz<?=0015 5
?0?S1:
ur,<C=0?:
if1?00nS15 p0p-1:
else
DcoutUU?UUZ Z:
&iz<?=01:
p0pS1:
s<p=0?:E
E
&oid ,ain1 5
D clrscr 1 5:
init1 5:
coutUUZ&f de start0Z: cinTT start:
s<1=0start:
p01: &iz<start=01:
coutUUZparcurgerea grafului prin ,etoda df este 8ZUUstart:
X*ile1pT015 df1 5:
E
1.9 CONEEITATE LN GRAFURI NEORIENTATE
Defini ie: 4n graf G este c*!- dac oricare ar fi dou &6rfuri distincte ale sale3 e"ist
un lan- care le leag.
01sera ie: 7ntr-un graf cone"3 lu6nd oricare dou &6rfuri3 pute, gsi cel pu in un
traseu 1lan-5 care porne/te dintr-un &6rf /i aCunge #n cellalt.
+ar nu toate grafurile sunt cone"e. 7n sc*i,b pute, desprinde din el co,ponente care3
fiecare luat separat3 este un graf cone".
arcurg6nd #n l i,e graful din figura 1' pornind de la
&6rful 1 ob ine, ur,toarea succesiune8 13 23 !3 $3 33 43 (.
%, ob inut o proprietate i,portant a grafului8 faptul c #n
ur,a parcurgerii au fost &izitate toate &6rfurile.
01sera ie: @u6nd oricare dou &6rfuri3 pute, gsi cel pu in un traseu care porne te dintr-
un &6rf i aCunge #n cellalt. @u6nd oricare dou &6rfuri3 ele pot fi legate printr-un lan .
Defini ie: .e nu,e te c*+2*!!". c*!-. a grafului G0 123 453 un subgraf G
1
0 12
1
3 4
1
5
a lui G3 cone"3 cu proprietatea c nu e"ist nici un lan care s lege un &6rf din 2
1
cu un &6rf din
2-2
1
.
Exemplu : Bie graful neorientat din figura 14
Bigura 14
Big. 1!
1
2
3
4
!
(
$
7n acest e"e,plu e"ist 3 co,ponente cone"e
- G
1
012
1
3 4
1
53 cu 2
1
0D13 23 33 4E /i 4
1
0D<132=3 <133=3 <134=3 <334= E
- G
2
012
2
34
2
53 cu 2
2
0D!3 (E /i 4
2
0D<!3(=E
- G
3
012
3
34
3
53 cu 2
3
0D$E /i 4
1
0 \
Teorem: Bie G0 123 45 un graf cone" i ? nu,rul de ,uc*ii ale lan ului ele,entar de
lungi,e ,a"i,. )ricare dou lan uri ele,entare diferite de lungi,e ? 1 dac e"ist 5 au cel
pu in un &6rf co,un.
2em"nstra ie: presupune, prin reducere la absurd c e"ist dou lan uri ele,entare de
lungi,e ,a"i,3 disCuncte: fie lan urile @
1
i @
2
. Not, prin l1@5 lungi,ea lan ului @. l1@
1
5
0 l1@
2
50?. +eoarece G este graf cone"3 #ntre oricare dou &6rfuri a i b din @
1
3 respecti& @
2
3
e"ist un lan . +intrIun ase,enea lan pute, ob ine un lan ele,entar ] care are e"tre,it ile
" i ; #n @
1
respecti& @
2
i care nu ,ai con ine alte &6rfuri din @
1
i @
2
.
G6rful " #,parte lan ul @
1
#n dou sublan uri @
11
i @
12
1 unul din ele e&entual &id5.
resupune, c @
11
este sublan ul de lungi,e ,a"i,3 deci l1@
11
5 ?P2. %plic, acela i
ra iona,ent pentru lan ul @
2
i presupune, c @
22
este sublan ul de lungi,e ,a"i, adic
l1@
22
5 ?P2. Construi, un nou lan ele,entar @ reunind lan urile @
11
3 ] i @
22
.
)bser&, c lungi,ea lan ului @ este8 l1@5 1?P25S1?P25S1 l1@5 ?S1. resupunerea
fcut este fals.
&ropo/i ie: 4n graf este cone" dac i nu,ai dac are o singur co,ponent cone".
2em"nstra ie:
- Rgraful G este cone"3 #nsea,n c pentru oricare dou &6rfurile "
i
i "
C
e"ist
un lan care le con ine3 deci e"ist o singur co,ponent cone".
QR dac graful G are dou co,ponente cone"e 2
i
i 2
C
#nsea,n c &6rfurile "
i
i "
C
nu se afl pe acela i lan 3 adic nu e"ist un lan care s uneasc &6rfurile "
i
i "
C
. 7n acest caz graful nu este cone". 1 fals5.
M#i(ica#a c*!-i". ii $!$i 1#a(.
.e cite te ,atricea de adiacen a unui graf neorientat cu n &6rfuri i se cere s se
afi eze toate co,ponentele cone"e precu, i nu,rul acestora. 7n rezol&area proble,ei se &a
utiliza parcurgerea grafului #n la i,e LB.
%lgorit,ul este ur,torul8
1. .e alege un &6rf de start i se ini ializeaz cu ' nu,rul co,ponentelor cone"e !c.
2. .e incre,enteaz !c cu 1. lec6nd din &6rful de start3 se &iziteaz graful cu algorit,ul LB3
ob in6ndu-se astfel o co,ponent cone"3 care se afi eaz.
- dac au ,ai r,as noduri ne&izitate #n ur,a parcurgerii anterioare3 se alege alt nod de start
din r6ndul nodurilor ne&izitate i se reia pasul 2.
- dac toate nodurile au fost &izitate3 se trece la pasul 3.
3. .e testeaz nc. +ac acesta este 13 rezult c graful este cone".
entru a i,ple,enta algorit,ul #n li,baCul CSS se folosesc ur,toarele func ii8
- citireWgraf1 5 I care per,ite citirea nu,rului de &6rfuri i de ,uc*ii ale grafului
precu, i ,uc*iile acestuia pentru a construi ,atricea de adiacen .
- parcurgereWbf1 5 I func ia realizeaz o parcurgere a grafului folosind algorit,ul de
parcurgere #n l i,e LB.
R2#)!"a#a a%1*#i"+$%$i C! %i+3a7$% C66
VincludeUiostrea,.*T
VincludeUconio.*T
int a<2'=<2'=3 c<2'=3 &iz<2'=3 pri,3 p3 nc:
&oid citireW graf1 5
Dint ,3 i3 C3 ?3 "3 ;3 n:
clrscr1 5 :
for 1 i01: iU0n: iSS5
D for 1 C01: CU0n: CSS5 a<i=<C=0':
&iz<p=0':
E
coutUU Q Nu,rul de &6rfuri 8 R: cinTTn:
coutUUendlUURNu,rul de ,uc*ii8 R: cinTT,:
for 1 ?01: ?U0,: ?SS5
D coutUUendlUUR da-i ,uc*ia QUU ?UU Q 8R:
cinTT"TT;: a<"=<;=0a<;=<"=01:E
E
int ne&izitat 1 5
D for 1int i01: iU0n:iSS5
if 1&iz<C=00'5 return C:
return ':E
&oid parcurgereWbf1int pri, 5
Dint ?3 z3 p3 u:
for 1?01: ?U0 n: ?SS5
D c<?= 0':
&iz<?=0':E
p0 1: u01: c<p= 0pri,: &iz<pri,=01:
X*ile 1p U0 u5
D& 0 c<p=:
for 1?01: ?U0n: ?SS5
if1a<&=<?=0 01YY &iz<?=0 0'5
Dc<SSu=0?: &iz<?=01:E
p SS: E
coutUUendl:
for1 ?01: ?U0u: ?SS5
coutUUc<?=UUR Q:
coutUUendl:
E
&oid ,ain15
D citireWgraf1 5 :
coutUUZ,atricea de adiacenta este 8 ZUUendl:
for1 i01: iU0n: iSS5
Dfor1C01: CU0n: CSS5 coutUUa<i=<C=UUZ Z:
coutUUendl: E
coutUUendlUUR da-i &6rful de plecareR: cinTT pri,:
coutUU Q ^nafisarea co,ponentelor cone"e Q:
nc0':
do D ncSS:
parcurgereWbf 1pri, 5:
pri,0 ne&izitat1 5:
E X*ile 1 pri,5:
cout UUendlUUR sunt QUUncUUR co,ponente cone"eR:
if 1nc0015 coutUUendlUUR graful este cone"R:
else coutUU endlUU Q graful nu este cone"R:
getc*1 5:
E
CAPITOLUL II
ARBORI
0.1 ARBORI . NO IUNI INTRODUCTIME
+in clasa grafurilor cone"e3 arborii reprezint grafurile cele ,ai si,ple dar sunt cel ,ai
frec&ent aplica-i #n practic. .-au ocupat de aceast teorie a arborilor Ca;le; 118!(5 pentru
aplica-iile lor #n c*i,ia organic3 Kirc**off pornind de la studiul re-elelor electrice.
7n &ia a de zi cu zi a&e, nu,eroase e"e,ple de structuri arborescente3 #ncep6nd cu
arbori &egetali3 continu6nd cu arbori genealogici3 structurile ierar*ice de organizare ale unei
co,panii care sunt structuri arborescente i ter,in6nd cu orice obiect care se poate desco,pune
#n entit i i subentit i confor, unei structuri arborescente.
Hntroducerea unui tip de dat arbore a fost o necesitate pentru a putea ,odela i prelucra
structurile arborescente cotidiene.
Definiie8 .e nu,e/te a#3*# un graf neorientat care este c*!- /i !$ c*!,i! cic%$#i.
M"e,plu8
Definiie8 4n nod ter,inal al unui arbore se nu,e/te frunz.
Exemplu8 entru arborele din figura 2.13 nodurile ter,inale sunt8 !3 (3 83 1'3 113 133 143
1!.
3ig# 2#1
1
2 3 4
! $
( 8 9 1'
11
12
13
14 1!
7n specificarea unui arbore se pune #n e&iden- un &6rf al su nu,it rdcin. entru
arborele din figura !3 nodul 1 se nu,e/te rdcina arborelui.
%legerea rdcinii conduce la a/ezarea arborelui pe ni&ele astfel8
- .e a/eaz rdcina pe ni&elul 1:
- .e plaseaz pe fiecare ni&el ?T1 &6rfuri pentru care lungi,ea lan-urilor care le
leag de rdcin este ?-1:
- .e traseaz ,uc*iile arborelui.
+atorit a/ezrii arborelui pe ni&ele este folosit ur,toarea ter,inologie8 &6rfurile de
pe un ni&el legate de acela/i &6rf ?3 poart nu,ele de descenden-i direc-i 1fii5 ai &6rfului ?3 iar
&6rful ? poart nu,ele de ascendent direct 1tat5 al acestor &6rfuri. G6rfurile care au acela/i tat
se nu,esc fra-i.
Exemplu. entru arborele din figura 2.18
- &6rfurile 83 93 1' /i 11 sunt a/ezate pe ni&elul 3:
- &6rfurile 83 93 1' /i 11 sunt descenden-i direc-i 1fii5 ai &6rfului 4:
- &6rful 4 este ascendent direct 1tatl5 nodurilor 83 93 1' /i 11:
- &6rfurile 83 93 1' /i 11 sunt fra-i.
Teorem: Bie un graf G 0 123 45. 4r,toarele afir,a-ii sunt ec*i&alente 8
1. G este un arbore.
2. G este un graf cone"3 ,ini,al #n raport cu aceast proprietate
1eli,in6nd o ,uc*ie oarecare3 se ob-ine un graf necone"5
3. G este un graf fr cicluri3 ,a"i,al #n raport cu aceast
proprietate 1adug6nd o ,uc*ie oarecare3 se ob-ine un graf care are cel pu-in un
ciclu5
2em"nstra ie: Go, arta c 1. 2.3 2 1.3 1. 3. i 3. 1.3 ceea ce &a de,onstra
ec*i&alen a celor trei propriet i ale unui graf.
1. 0. . presupune, c graful G este cone" i fr cicluri. Nrebuie artat c are loc
2.3 adic prin supri,area oricrei ,uc*ii <"3 ;= se ob ine un graf necone". . presupune,3 prin
reducere la absurd3 c graful G
1
ob inut din G prin supri,area ,uc*iei <"3 ;= este cone"3 deci
e"ist un lan @0 D"3 F3 ;E de e"tre,it i x i y. +ac se repet un &6rf + #n irul care <l
define te pe @3 adic @0 D"3 F3 z3 t
1
3 t
2
3 F3 t
?
3 z3 F3;E &o, supri,a din lan ul @ una din
apari iile lui + #,preun cu &6rfurile t
1
3 t
2
3 F3 t
?
ob in6nd un nou lan @
1
de e"tre,it i x i y.
Continu6nd acest procedeu &o, ob ine #n final un lan ele,entar de e"tre,it i x i y #n graful
G
1
. %cest lan ele,entar #,preun cu ,uc*ia supri,at <"3 ;= for,eaz un ciclu #n arborele G3
ceea ce contrazice defini ia unui arbore. +eci are loc 2.
0. 1. +ac G este un graf cone" ,ini,al3 s presupune, prin reducere la absurd c
G con ine un ciclu <"3 z
1
3 F3 z
?
3 ;3 "=. rin supri,area ,uc*iei <"3 ;= a acestui ciclu se ob ine un
nou graf G
1
. Graful G
1
este cone"3 deoarece #n orice lan de la u la v #n graful G care folose te
,uc*ia <"3 ;= pute, #nlocui aceast ,uc*ie prin lan ul @0 <"3 z
1
3 F3 z
?
3 ;= care e"ist #n G
1
3
ob in6nd un lan de la u la v #n graful G
1
. +eci graful G
1
este cone"3 ceea ce contrazice 2.
Rezult c G este fr cicluri i este cone"3 deci G este arbore.
1. 3. +ac G este arbore rezult c G este fr cicluri. Bie x i y dou &6rfuri
neadiacente ale lui G. %, &zut c e"ist un lan ele,entar <"3 z
1
3 F3 z
?
3 ;= de e"tre,it i x i y.
+eci prin adugarea ,uc*iei <"3 ;= se ob ine un nou graf G
1
care con ine ciclul <"3 z
1
3 F3 z
?
3 ;3
"=3 adic are loc 3.
3. 1. Bie G un graf fr cicluri ,a"i,al. Nrebuie artat c G este cone".
resupun6nd c G nu este cone"3 rezult e"isten a a dou &6rfuri x i y care apar in unor
co,ponente cone"e diferite ale lui G. rin adugarea ,uc*iei <"3 ;= se for,eaz un nou graf G
1
care nu poate con ine un ciclu <"3 z
1
3 F3 z
?
3 ;3 "=3 deoarece #n acest caz G con ine lan ul <"3 z
1
3
F3 z
?
3 ;=3 ceea ce contrazice presupunerea c x i y apar in unor co,ponente cone"e diferite ale
lui G. 7ns acest lucru contrazice proprietatea 3. deci G este cone". +eoarece G este fr cicluri
rezult c G este arbore i are loc 1.
&ropo/i ia 1: )rice arbore cu n _ 2 &6rfuri con ine cel pu in dou &6rfuri ter,inale.
2em"nstra ie: resupune,3 prin reducere la absurd3 c e"ist un arbore % cu n _ 2
&6rfuri care are cel ,ult un &6rf de grad 1.
Bie @0 <"3 z
1
3 F3 z
?
3 ;= un lan ele,entar de lungi,e ,a"i, al lui %3 deci care con ine un
nu,r ,a"i, de ,uc*ii. Cel pu in una dintre e"tre,it ile lui @3 fie aceasta y! are gradul d1;5 _
23 deoarece % are cel ,ult un &6rf de gradul 1. +eoarece y este adiacent cu +
1
3 rezult c y ,ai
este adiacent cu un &6rf al lui %. +eoarece lan ul @ are o lungi,e ,a"i,3 rezult c y nu poate
fi adiacent dec6t cu unul dintre &6rfurile "3 z
1
3 F3 z
?-1
3 ceea ce produce un ciclu #n graful %.
+eoarece % este arbore a, aCuns la o contradic ie i proprietatea este de,onstrat.
&ropo/i ia 2: )rice arbore cu n &6rfuri are n 5 1 ,uc*ii.
2em"nstra ie: .e face prin induc ie dup n.
entru n61 e"ist un singur arbore cu un &6rf i fr nici o ,uc*ie.
entru n62 ob ine, un arbore unic K
2
cu 2 &6rfuri i o singur ,uc*ie.
. presupune, c proprietatea este ade&rat pentru orice arbore cu cel ,ult n &6rfuri i
fie % un arbore cu n 71 &6rfuri i , ,uc*ii. Confor, propozi iei precedente3 arborele % are cel
pu in dou &6rfuri de gradul 1. Bie x unul dintre acestea i %
1
subgraful ob inut din % prin
supri,area &6rfului x i a ,uc*iei incidente cu ". +eoarece % nu con ine cicluri3 rezult c nici
%
1
nu con ine cicluri. Go, arta c #n plus graful %
1
este cone"3 deci %
1
este un arbore cu n
&6rfuri.
Bie u i v dou &6rfuri diferite #ntre ele i diferite de x ale arborelui %. +eoarece % este
cone" rezult c e"ist un lan 3 deci i un lan ele,entar
@ 0< u3 F3 &=. +ac ,uc*ia incident cu x este <"3 ;=3 rezult c lan ul ele,entar @ nu folose te
,uc*ia <"3 ;= pentru c d1"5 0 1. +eci @ este un lan de e"tre,it i u i v i pentru subgraful
%
1
. Rezult c %
1
este cone". %plic6nd ipoteza de induc ie pentru %
1
gsi, c el are un nu,r de
,uc*ii egal cu ,
1
0n I 1. +ar % con ine #n plus fa de %
1
,uc*ia <"3 ;=3 deci % are , 0 1n I 15
S1 0 n ,uc*ii i proprietatea este de,onstrat.
Teorema : Nu,erele #ntregi ' U d
1
d
2
. d
n
1n 25 sunt gradele &6rfurilor unui arbore
dac /i nu,ai dac d
1
+d
2
+.+d
n
2n-2.
2em"nstra8ie:
9ecesitatea: Condi-ia este necesar3 deoarece orice arbore cu n &6rfuri are n-1 ,uc*ii3
iar su,a gradelor &6rfurilor oricrui graf este de dou ori nu,rul de ,uc*ii. +eci d
1
+d
2
+.+d
n

2n-2.
:uficien8a8 Bie ' U d
1
d
2
. d
n
astfel #nc6t d
1
+d
2
+.+d
n
2n-2.
. de,onstr, c e"ist un arbore cu gradele &6rfurilor d
1
3 d
2
3.3 d
n
. Go, proceda prin induc-ie.
125 +ac d
1
+d
2
23 atunci d
1
d
2
13 arborele fiind cel din figura de ,ai Cos 8
1n5 resupune, acu, c proprietatea este ade&rat pentru orice sec&en- de n nu,ere
naturale ' U d
1
d
2
. d
n
3 astfel #nc6t d
1
+d
2
+.+d
n
2n-2.
1n+15 . de,onstr, c pentru orice sec&en- ' U d`
1
d`
2
. d`
n
d`
n+1
astfel #nc6t
d`
1
+d`
2
+.+d`
n+1
2n3 e"ist un arbore cu n+1 &6rfuri cu sec&en-a gradelor d`
1
3 d`
2
3.3 d`
n+1
.
)bser&, c e"ist ,car un nod ter,inal "
1
cu gradul d`
1
13 altfel dac
d
i
23i{13 23.3 n+1} d`
1
+d`
2
+.+d`
n+1
21n+153 ceea ce contrazice ipoteza. 7n ,od analog3
obser&, c e"ist ,car un nod neter,inal "
n+1
3 cu gradul d`
n+1
T 13 altfel dac d`
i
13i{13
23.3 n+1} d`
1
+d`
2
+.+d`
n+1
n+1 U 2n.
. consider, ur,toarea sec&en- de n nu,ere #ntregi d`
2
3.3 d`
n
3 d`
n+1
-1 cu proprietatea c
d`
2
+.+d`
n
+d`
n+1
2n-2. +in ipoteza inducti& e"ist un arbore %
n
cu n &6rfuri /i sec&en-a gradelor
d`
2
3.3 d`
n
3 d`
n+1
-1. %dug, la arborele %
n
un &6rf pe care #l uni, printr-o ,uc*ie cu &6rful a&6nd
gradul d`
n+1
-1. )b-ine, un arbore %
n+1
cu gradele &6rfurilor d`
1
3 d`
2
3.3 d`
n+1
. ].M.+.
+e,onstra-ia acestei teore,e ofer /i o solu-ie constructi& pentru ob-inerea unui arbore
cu sec&en-a gradelor dat.
Go, re-ine gradele &6rfurilor #ntr-un &ector d de di,ensiune n3 ordonat cresctor3 cu
su,a co,ponentelor egal cu 2n-2.
%rborele &a fi reprezentat prin ,atricea ,uc*iilor3 o ,atrice a cu dou linii /i n-1
coloane3 #n care pentru fiecare ,uc*ie din arbore &o, re-ine e"tre,it-ile.
0.0 ARBORI CU RDCIN
entru proble,ele #n care se i,pune o ierar*izare a infor,a-iilor ce corespund &6rfurilor
arborelui3 astfel #nc6t anu,ite &6rfuri s fie subordonate altora3 este util introducerea unei noi
no-iuni- arbore cu rdcin. %rborii cu rdcin sunt o prezen- cotidian. Biecare /i-a
reconstituit la un ,o,ent dat arborele genealogic /i3 dup cu, &o, &edea3 cea ,ai ,are parte a
ter,enilor folosi-i #n li,baCul infor,atic deri& de aici. 4n alt e"e,plu este ,odul de organizare
a co,peti-iilor sporti&e sau organigra,a unei #ntreprinderi
D(i!i,i 44n ar1ore cu rdcin este o ,ul-i,e finit de noduri care fie este &id fie
- e"ist un nod special nu,it rdcina arborelui:
-toate celelalte noduri sunt parti-ionate #n n ' clase %
1
3 %
2
3.3 %
n
3 fiecare clas fiind un
arbore cu rdcin. Rdcina arborelui este unit prin ,uc*ii de rdcinile arborilor%
1
3 %
2
3.3 %
n
.
Bigura 2.2
+efini-ia este recursi&3 orice nod al unui arbore fiind rdcina unui subarbore.
. obser&, c aleg6nd #ntr-un ,od arbitrar un &6rf drept rdcin3 orice graf neorientat
cone" /i fr cicluri este un arbore cu rdcin #n sensul defini-iei de ,ai sus. %rborii %
1
3 %
2
3.3 %
n
se nu,esc subarborii rdcinii3 nu,rul de subarbori ne&izi ai unui nod fiind nu,it gradul
nodului respecti&.
P#*2#i". i% ca# ca#ac"#i)a). $! a#3*# c$ #.d.ci!.4
M"ist un nod #n care nu intr nici un arc3 nu,it #.d.ci!a a#3*#%$i.
Cu e"cep ia rdcinii3 fiecare nod are proprietatea c #n el intr un singur arc.
%cesta leag nodul respecti& de un alt nod nu,it 2#dc;*# sau 2.#i!".
+intrIun nod pot ie i unul sau ,ai ,ulte arce. Biecare astfel de arc3 leag nodul
respecti& de un alt nod nu,it ;$cc;*# sau (i$ al nodului.
Nodurile sunt organizate pe !i&%3 pri,ul ni&el fiind ocupat de nodul rdcin.
Nodurile de pe ulti,ul ni&el se caracterizez prin faptul c din ele nu ,ai iese nici un arc3
i se nu,esc !*d$#i "#+i!a% sau (#$!).
Nodurile pot con ine o a a nu,it i!(*#+a i $"i%. 3 care poate fi de orice tip.
+e obicei aceste infor,a ii se ,ai nu,esc i c:i a% a#3*#%$i.
Exemplu:
Bigura 2.3

. obser&, c defini-ia conduce la o ierar*izare a nodurilor arborelui 8
- consider, c rdcina r se situeaz pe ni&elul '.
- dac not, cu r
1
3 r
2
3.3 r
n
respecti& rdcinile arborilor %
1
3 %
2
3.3 %
n
3 nodurile r
1
3 r
2
3.3 r
n
&or
constitui ni&elul 1 #n arbore3 /.a.,.d.
Nodurile r
1
3 r
2
3.3 r
n
3 se nu,esc fiii nodului rdcin3 iar rdcina r reprezint printele
nodurilor r
1
3 r
2
3.3 r
n
3 rdcina fiind singurul nod din arbore care nu are printe. Biecrei ,uc*ii
din arbore #i pute, asocia o orientare de la printe spre fiu. 7n plus3 fiii nodurilor de pe ni&elul
i'3 &or constitui ni&elul i+1.
Ni&elul ,a"i, din arbore &a constitui *nl8imea 1ad;ncimea5 arborelui respecti&. .
obser&, c orice nod " poate fi atins din rdcin pe un dru, unic. )rice nod ; care se gse/te
pe dru,ul unic de la r la " se nu,e/te ascendent 1strm"<5 al lui ". +ac ; este un ascendent al
lui "3 atunci " se nu,e/te descendent al lui ;. >ai e"act3 to-i descenden-ii unui nod " sunt
nodurile din subarborele cu rdcina ". +ac un nod nu are descenden-i el se nu,e/te nod
terminal sau frun+# +ou noduri care au acela/i printe se nu,esc fra8i.
7n e"e,plul de ,ai sus3 4 este un ascendent al lui 8. Nodurile !3 $3 33 83 9 sunt noduri
ter,inale. Nodurile 83 9 sunt fra-i3 iar descenden-ii nodului 4 sunt nodurile (3 83 9.
R2#)!"a#a a#3*#i%*#
%rborii3 fiind cazuri particulare ale grafurilor3 beneficiaz de acelea i ,etode de
reprezentare la care se adaug alte ,etode specifice arborilor. M"ist ,ai ,ulte ,etode de
reprezentare a arborilor cele ,ai cunoscute sunt8 matricea de adiacen ! lista de adiacen i
referin e descendente#
1. Matricea de adiacen
Mste o ,atrice % cu n linii /i n coloane3 #n care ele,entele a<i3 C= se definesc astfel8

'

altfel
$ i cu $ i arcul daca
$ i a
3 '
53 3 1 3 1
= 3 <
Exemplu8 entru arborele din figura 2#'! ,atricea de adiacen asociat este8

,
_

' ' ' ' '


' ' ' ' '
1 ' ' ' '
' 1 1 ' 1
' ' ' ' '
&
2
1 3
4

Bigura 2.4
Observa ie:
+eoarece la arbore se ine cont de legturile tat - fiu #n ,atricea de adiacen
arcul 1a3 b5 nu este totuna cu arcul 1b3 a5 :
+ac ele,entele de pe linia i sunt toate egale cu ' atunci nodul este nod
terminal sau frun/ ,
+ac ele,entele de pe coloana i sunt toate egale cu ' atunci nodul este
rdcina ar1orelui :
+in ,atricea de adiacen asociat arborelui din figura 4 se obser& c nodurile
13 43 ! sunt ter,inale iar nodul 2 este rdcin.
2. Lista de adiacen
entru fiecare nod i3 cu i
E 3...3 2 3 1 D n
3 for,, lista de adiacen asociat nodului.
%ceast list se ob ine in6nd sea,a de legturile printe I succesor pentru fiecare nod i.
Exemplu8 @ista de adiacen asociat arborelui din figura 4 este:
nodul @ista de adiacen
1
2
3
4
!
-
13 33 4
!
-
-
!
)bser&, c pentru a deter,ina lista de adiacen asociat arborelui din figura 4 se ine
cont de legtura printe I succesor.
Observa ie:
>etoda reprezentrii prin ,atricea de adiacen este ineficient i necesit un spa iu
,are de ,e,orie. >etoda reprezentrii prin liste de adiacen este eficient 3 deoarece nu se ,ai
,e,oreaz toate ele,entele egale cu '.
3. 2eferin e descendente 3 legtura de tip tat
%rborele este reprezentat sub for,a unui &ector t cu n co,ponente #n care se ,e,oreaz3
pentru fiecare nod3 etic*eta printelui su. %lgorit,ul de construire a &ectorului este ur,torul8

'

radacina este i nodul 3 '


i nodului parintele reprezinta 3
= <
daca
$ daca $
i t
cu i
E 3...3 2 3 1 D n
3
3
1
2 4
! $
Exemplu8
Bigura 2.!
entru arborele din figura 2#4 &ectorul "a". este8
Observa ie: +in &ectorul "a". pute i ob ine ur,toarele infor,a ii8
Mtic*eta nodului rdcin - indicele i pentru care "@iA80?
Mtic*eta printelui unui nod 7 - "@7A?
Mtic*etele nodurilor ter,inale I nodurile 7 a cror etic*et nu e"ist #n &ectorul "?
Mtic*etele fra ilor unui nod 7 - indicii i pentru care "@iA8"@7A?
Mtic*etele fiilor unui nod 7 I indicii i pentru care "@iA87?
0.3 ARBORI BINARI
O clas f"arte imp"rtant de arb"ri cu rdcin! cu aplica8ii interesante *n tehnicile de
pr"gramare este clasa ar1orilor 1inari.
Defini ie: 4n arbore cu proprietatea c fiecare nod3 cu e"cep-ia frunzelor3 are cel ,ult doi
descenden-i 1succesori5 se nu,e/te ar1ore 1inar.
7ntr-un arbore binar3 cei doi succesori ai unui nod 1dac e"ist53 se nu,esc ;$cc;*#
;"'!1 respecti& ;$cc;*# d#2".
7n aceasta situatie se poate &orbi 1pentru un arbore ne&id5 de cei doi subarbori 1st6ng si drept5 ai
unui arbore. .c*e,atic a&e,8
Nod 1indice i5 1 2 3 4 ! $
rinte 1 t<i= 5 3 3 ' 3 1 2
Bigura 2.$
r-rdcina: %
1
subarbore st6ng: %
2
subarbore drept.
.e face o distinc ie clar #ntre subarborele drept /i cel st6ng. +ac subarborele st6ng este
ne&id3 rdcina lui se nu,e/te fiul st6ng al rdcinii. %nalog3 dac subarborele drept este ne&id3
rdcina lui se nu,e/te fiul drept al rdcinii.
+e e"e,plu3

Bigura 2.(
.unt doi arbori binari distinc i.
0.B.1 CLASE SPECIALE DE ARBORI BINARI
Go, deosebi #ntre arborii binari c6te&a clase speciale8
1. &rb"ri binari stric8i sunt arborii binari #n care orice &6rf are gradul zero 1este ter,inal 5
sau doi 1are e"act doi fii5.
+e e"e,plu3 arborii din figura 2.( nu sunt arbori binari stric-i 1nodurile 2 /i $ a&6nd un singur
fiu53 dar

Bigura 2.8
este un arbore binar strict.
2. &rb"ri binari plini sunt arbori binari care au 2
?
-1 &6rfuri dispuse pe ni&elurile '3 13.3 ?-
13 astfel #nc6t pe fiecare ni&el i se gsesc 2
i
&6rfuri.
+e e"e,plu3 arborele binar plin cu #nl-i,ea 2 este8
Bigura 2.9
3# &rb"rii binari c"mple8i sunt arbori binari care se ob-in dintr-un arbore binar plin
prin eli,inarea din dreapta ctre st6nga a unor noduri de pe ulti,ul ni&el. Respecti&3 pentru a
construi un arbore binar co,plet cu n noduri3 deter,in, ? astfel #nc6t 2
?
n U 2
?+1
?
[log
2
n]. Construi, arborele binar plin cu 2
?+1
-1 noduri /i eli,in, de pe ulti,ul ni&el nodurile
2
?+1
-13 2
?+1
-23.3 n+1.
+e e"e,plu! arborele binar co,plet cu ! &6rfuri se ob-ine prin eli,inarea &6rfurilor ( /i $
din arborele binar plin cu #nl-i,ea 2 8
Bigura 2.1'
4# &rb"ri binari degenera8i- sunt arbori binari cu n &6rfuri dispuse pe n ni&eluri.
+e e"e,plu3
Bigura 2.11
!# &rb"ri binari echilibra8i - sunt arbori binari #n care3 pentru orice nod3 nu,rul
nodurilor din subarborele drept /i nu,rul nodurilor din subarborele st6ng difer cu cel ,ult o
unitate.
+e e"e,plu3
Bigura 2.12
0.B.0 PROPRIET I ALE ARBORILOR BINARI
P#*2#i"a"a 1. Nu,rul ,a"i, de noduri de pe ni&elul i al unui arbore binar este 2
i
.
2em"nstra8ie:
Go, proceda prin induc-ie dup nu,rul ni&elului.
1'5 e ni&elul i ' se gse/te un singur nod 1rdcina5.
1?5 resupune, c nu,rul ,a"i, de noduri de pe ni&elul ? este 2
?
.
1?+15 Go, de,onstra c pe ni&elul ?+1 sunt cel ,ult 2
?+1
noduri.
e ni&elul ?+1 se gsesc fiii nodurilor de pe ni&elul ?. +in ipoteza inducti&3 pe ni&elul ?
se gsesc cel ,ult 2
?
noduri3 iar fiecare nod poate a&ea cel ,ult doi fii3 deci pe ni&elul ?+1 se
gsesc cel ,ult 2A2
?
2
?+1
noduri. ].M.+.
P#*2#i"a"a 0. Nu,rul ,a"i, de noduri #ntr-un arbore cu #nl-i,ea * este 2
*+1
-1.
2em"nstra8ie:
Nu,rul ,a"i, de noduri #ntr-un arbore cu #nl i,ea * se ob-ine atunci c6nd fiecare
ni&el i este plin3 deci3 confor, propozi-iei anterioare3 con-ine 2
i
noduri. Nu,rul ,a"i, de
noduri #ntr-un arbore cu #nl-i,ea * &a fi8
2 2 1
0
1 i
i
h
h


P#*2#i"a"a 3. 7n orice arbore binar ne&id cu n
'
noduri ter,inale e"ist n
'
-1 noduri de
grad 2.
2em"nstra8ie8
Not, cu n
'
nu,rul de noduri ter,inale3 cu n
1
nu,rul de noduri de grad 1 /i cu n
2
nu,rul de noduri de grad 2. +eci3 nu,rul total de noduri nn
'
+n
1
+n
2.
+ac nu,r, ,uc*iile dintr-un arbore binar3 obser&, c fiecare nod3 cu e"cep-ia
rdcinii3 are o singur ,uc*ie orientat spre el. Not6nd , nu,rul de ,uc*ii ob-ine, n ,+1.
+ar orice ,uc*ie pro&ine de la un nod de grad 1 sau 23 rezult c , n
1
+2n
2
.
+in n
'
+n
1
+n
2
n /i n
1
+2n
2
n-1 n
2
n
'
-1. ].M.+.
P#*2#i"a"a B. 4n arbore cu n &6rfuri are #nl-i,ea cel pu-in egal cu [log
2
n].
2em"nstra8ie:
7n cazul cel ,ai fa&orabil3 nodurile sunt dispuse pe ni&eluri astfel #nc6t fiecare ni&el s
fie plin3 cu e"cep-ia3 e&entual3 a ulti,ului ni&el. +eci arborele binar cu n noduri de #nl-i,e
,ini, este arborele binar co,plet cu n &6rfuri3 care3 din ,odul de construc-ie3 are #nl-i,ea
[log
2
n].
P#*2#i"a"a 9. +efini, lungi,ea dru,urilor interne 1H5 ca fiind su,a lungi,ilor
dru,urilor de la rdcin la noduri neter,inale 1interne5 /i lungi,ea dru,urilor e"terne 1M5 ca
fiind su,a lungi,ilor dru,urilor de la rdcin la noduri ter,inale 1frunz sau e"terne5. 7ntr-un
arbore binar cu n noduri interne3 M H+2n.
2em"nstra8ie:
Go, proceda prin induc-ie dup n3 nu,rul nodurilor interne.
1'5 8 7ntr-un arbore cu ' noduri interne 1&id sau for,at nu,ai din rdcin5 M H '.
1n-158 resupune, c #ntr-un arbore binar %
n-1
3 cu n-1 noduri interne3 are loc rela-ia M
n-1
H
n-1
+21n-15.
1n5 8 Go, de,onstra c #ntr-un arbore binar %
n
3 cu n noduri interne3 are loc rela-ia M
n

H
n
+2n.
Bie %
n
un arbore binar cu n noduri interne. M"ist #n %
n
un

nod intern " care are drept fii
dou noduri ter,inale. 7ndeprt6nd din %
n
fiii nodului "3 nodul " se transfor, #n nod ter,inal3
deci ob-ine, un arbore %
n-1
cu n-1 noduri interne. +in propozi-ia inducti& rezult c #n arborele
%
n-13
M
n-1
H
n-1
+21n-15. +ac not, cu d3 lungi,ea dru,ului de la rdcin la nodurile eli,inate3
ob-ine, rela-iile 8 M
n
M
n-1
+2d-1d-15 1#n %
n
nodurile eli,inate sunt ter,inale3 dar nodul " nu3
lungi,ea dru,ului de la rdcin la " fiind d-15.
H
n
H
n-1
+1d-15 1#n %
n
nodul " este intern5.
+eci M
n
H
n-1
+21n-15+d+1 H
n
-d+1+2n-2+d+1 H
n
+2n.
0.B.3 REPREZENTAREA ARBORILOR BINARI
Nu,erot6nd nodurile arborelui cu 1323F3n3 e"ist ,ai ,ulte for,e prin care pute,
reprezenta un arbore binar #n ,e,oria calculatorului3 folosind fie alocarea static3 fie alocarea
dina,ic a ,e,oriei.
E- 4 Bie arborele ur,tor 8
Bigura 2.13
- rdcina arborelui este 1 :
- 43!3(38 sunt frunze 1noduri ter,inale5:
- arborele are 4 ni&ele 1rdcina se afl pe ni&elul 13 nodurile 233 se afl pe ni&elul
23 nodurile 43!3$ se afl pe ni&elul 33 iar nodurile ( si 8 se afl pe ni&elul 45:
- pentru nodul 23 succesorul este nodul 43 iar predecesorul este nodul 1
- pentru nodul 33 succesorii sunt nodurile ! /i $3 iar predecesorul este nodul 1
- pentru nodul $3 succesorii sunt nodurile ( /i 83 iar predecesorul este nodul 3
R2#)!"a#a ;"a"ic. a a#3*#i%*# 3i!a#i/ (*%*;i!d &c"*#i
a. .pecific, rdcina r /i defini, doi &ectori3 . respecti& +3 care &or con-ine succesorii
nodurilor3 astfel 8
- .<i= I reprezint nodul succesor st6ng al nodului i3 cu i 01323F3n.
- +<i= I reprezint nodul succesor drept al nodului i3 cu i 01323F3n.
- +ac nu e"ist succesor3 ele,entul #n cauz &a fi '.
b. +efini, tot doi &ectori 8
- &ectorul ,e,oreaz prin-ii 1predecesorii5 nodurilor arborelui. %stfel3 <i=
reprezint predecesorul nodului i3 cu i 01323F3n. Nee"ist6nd printe al rdcinii3 &o, lua
<1= 0 '.
- &ectorul N indic3 pentru fiecare nod3 ce fel de succesor al printelui este
nodul 8 st6ng sau drept. %stfel3 N<i= &a fi -1 sau 13 dup cu, nodul i pro&ine din printele su
ca succesor st6ng respecti& drept 1i 01323F3n5. +eoarece nodul 1 nu are printe3 &o, lua N<1=0'.
Reprezent, arborele din figura 2.13 prin cele dou ,etode 8
a. Bolosi, &ectorii . si +


b. Bolosi, &ectorii si N
+escendent 0 fiu
%scendent 0 printe
R2#)!"a#a di!a+ic. a a#3*#i%*# 3i!a#i/ (*%*;i!d a%*ca#a di!a+ic.
+atorit dina,is,ului structurilor ,odelate printr-un arbore3 &arianta de i,ple,entare
dina,ic este preferabil &ariantei statice. 7n acest caz3 dac arborele este binar3 #n fiecare nod se
&a ,e,ora at6t infor,a ia util c6t i legturile nodului ctre succesorii si. Cu alte cu&inte #n
fiecare nod &o, a&ea trei ele,ente8
- o infor,a ie 1 de orice tip predefinit sau definit anterior 5 :
- dou adrese3 a succesorului st6ng i a succesorului drept 1 pointeri ctre
succesorul st6ng respecti&e drept 5
i 1 2 3 4 ! $ ( 8
.<i= 2 ' ! ' ' ( ' '
+<i= 3 4 $ ' ' 8 ' '
i 1 2 3 4 ! $ ( 8
<i= ' 1 1 2 3 3 $ $
N<i= ' -1 1 1 -1 1 -1 1
+efinirea unui nod se face astfel8
t;pedef struct unWnod 1 1 5
D int info : 1 2 5
unWnod A ur,: 1 3 5
E NN)+: 1 4 5
NN)+ A"3 A;3 Az3 At : 1 ! 5
1 1 5 Biecare nod al unui arbore poate fi pri&it ca o structur 1 #nregistrare5 cu trei c6,puri.
>ai #nt6i3 cu aCutorul cu&6ntului c*eie "=2d( ;"#$c"3 defini, structura necesar pentru un nod
al listei. %ceast structur &a pri,i ini ial nu,ele $!N!*d. C6,purile structurii $!N!*d
trebuie s defineasc cele trei co,ponente ale fiecrui nod din list. %cestea &or fi8
1 2 5 i!(*un c6,p de infor,a ie util reprezent6nd un nu,r #ntreg1de tipul int 53 care
se ,ai nu,e te i c*eia din nod :
1 3 5 ;" un c6,p de legtur reprezent6nd pointer ctre nodul succesor st6ng #n arbore 1
adresa nodului succesor st6ng 5: deci este de tipul Q pointer ctre un nod R ,ai concret3 Q pointer
ctre tipul de date $!N!*d Q toc,ai definit: #n concluzie c6,pul ;" &a fi de tipul Q $!N!*d O Q :
d# un c6,p de legtur reprezent6nd pointer ctre nodul succesor drept #n arbore
1 adresa nodului succesor drept 5 : absolut analog cu c6,pul st3 i c6,pul dr &a fi de tipul Q
$!N!*d O Q :
1 4 5 7ntruc6t a, folosit cu&6ntul c*eie "=2d(3 pute, ca la sf6r itul declara iei de
structur s d, un nou nu,e structurii create. %ceasta se &a nu,i TNOD 1 de la Q tipul nod Q5.
1 ! 5 )bser&, c dup definirea tipului NN)+3 a, declarat ca &ariabile cei patru
pointeri ctre noduri3 ;3 ;3 z i t. %ce tia &or fi e&ident de tipul TNOD O.
%ccesarea c6,purilor unui nod oarecare referit printr-un pointer a3 se face astfel8 dac
pointerul a con ine adresa nodului3 atunci nodul #n sine se ,e,oreaz #n Q&ariabila perec*eQ Oa:
+ar nodul a este o #nregistrare cu c6,purile i!(*/ ;" i d# 3 iar accesul la c6,purile unei
#nregistrri se face cu operatorul Q punct Q. % adar c6,purile nodului adresat de ctre pointerul a
sunt8 D OaF. i!(* 1infor,a ia3 nu,rul din nod 53 D OaF. ;" 1pointer ctre succesor st6ng 5 i D OaF.
d# 1 pointer ctre succesor drept 5.
entru D OaF. i!(* &o, folosi nota ia ec*i&alent a i!(*3 sintag,a D OaF. ;" &a fi
#nlocuit de for,a ec*i&alent a ;"3 iar #n loc de D OaF. d# pute, scrie a d#.
7n concluzie3 dac a este pointer ctre un nod oarecare3 atunci c6,purile nodului sunt8
- a i!(* c6,pul ce con ine infor,a ia util din nod:
- a ;" pointer ctre succesorul st6ng al nodului respecti&:
- a d# pointer ctre succesorul drept al nodului respecti&:
entru a accesa efecti& un arbore3 este suficient un pointer ctre rdcina arborelui. 4n
astfel de pointer se declar ca o &ariabil de tipul Q pointer ctre un nod Q 1 definit ,ai sus 53
adic de tipul PNOD.
+ac unul din subarbori este &id3 atunci pointerul la acel subarbore este N4@@.
entru arborele di! (i1$#a 0.133 reprezentarea dina,ic este8
1
rad
2
N4@@
3
4
N4@@ N4@@ N4@@ N4@@
! $
( 8
N4@@ N4@@ N4@@ N4@@
0.B.B CREAREA I PARCURGEREA ARBORILOR BINARI
Pa#c$#1#a a#3*#i%*# 3i!a#i
rin parcurgerea unui arbore binar3 se #n elege &izitarea tuturor nodurilor3 pe r6nd3 #ntr-o
anu,it ordine.
4n arbore binar poate fi pri&it ca un ansa,blu de trei entit i8 rdcina3 un subarbore
st6ng al rdcinii i un subarbore drept al rdcinii. .e &iziteaz rdcina3 apoi se parcurge
subarborele st6ng al rdcinii3 iar #n final se parcurge subarborele drept al rdcinii. arcurgerea
fiecruia dintre cei doi subarbori este absolut si,ilar8 subarborele #n cauz poate fi pri&it ca un
arbore alctuit din trei co,ponente8 o rdcin3 un subarbore st6ng al rdcinii i un subarbore
drept al rdcinii. Cu noii subarbori ob inu i se &a proceda la fel3 s.a.,.d. rocesul continu p6n
c6nd nu ,ai a&e, subarbori3 ,o,ent #n care pute, spune c au fost &izitate toate nodurile3 ca
rdcini ale unor subarbori. 4r,are a acestei si,ilitudini3 este clar c algorit,ul de parcurgere
poate fi descris #n "#+!i #c$#;i&i.
D;c*+2$!#a $!$i a#3*# C! ;$3a#3*#i4
+esco,pune, arborele din (i1$#a 0.134
rdcina este nodul 1:
subarborele st6ng al rdcinii 13 este un arbore alctuit din nodurile 0 i B:
rdcina acestui arbore este 0:
subarborele st6ng aferent rdcinii 0 nu e"ist:
subarborele drept con ine nu,ai nodul B:
subarborele drept a lui 13 este un arbore alctuit din nodurile 3/ 9/ 6/ H i J:
- rdcina noului arbore ob inut este 3:
- subarborele st6ng aferent rdcinii 33 con ine doar nodul 9:
- subarborele drept este la r6ndul su un arbore3 cu nodurile 6/ H/ J:
- acest ulti, arbore poate fi desco,pus la r6ndul su #n8 rdcina 6/ nodul
H ca subarbore st6ng i nodul J ca subarbore drept.
%stfel3 a, Q&izitatR pe r6nd toate nodurile arborelui dat.
A%1*#i"+i d 2a#c$#1# a $!$i a#3*# 3i!a#
M"ist trei algorit,i de parcurgere3 care se bazeaz pe desco,punerea descris ,ai sus.
+eosebirea #ntre ei const #n ordinea #n care sunt Qe"plorateR entit ile rezultate din
desco,punere 1 rdcina3 subarborele st6ng3 subarborele drept 5. 7n ilustrarea acestor algorit,i3
&o, nota cu .% 1 "
1
3 "
2
3F3"
p
53 subarborele alctuit din nodurile "
1
3 "
2
3F3"
p
.
+e e"e,plu3 pentru arborele din figura 1!.3 subarborele drept al rdcinii3 care con ine nodurile
3/ 9/ 6/ H i J se noteaz SA D 3/ 9/ 6/ H/ J F.
+e ase,enea &o, folosi reprezentarea dina,ic a arborilor binari8
t;pedef struct nod
D int info:
nod Ast3 Adr:
E NN)+:
t;pedef NN)+ A N)+:
1F A%1*#i"+$% RSD D2a#c$#1#a C! 2#*#di!F
4e vi+itea+ mai *nt;i rdcina! ap"i subarb"rele st;ng al rdcinii i *n final subarb"rele
drept al rdcinii#
E-+2%$4
entru arborele din figura 1!. de ,ai sus3 ur,rind desco,punerea #n subarbori
prezentat #n aplica ia de ,ai sus3 &o, ob ine ur,toarea Q &izitareR a nodurilor8
13 .% 1 23 4 53 .% 133 !3 $3 (3 8 5
13 23 -3 43 33 !3 .% 1 $3 (3 8 5
13 23 43 33 !3 $3 (3 8
rezent, #n continuare o func ie recursi& nu,it #;d care i,ple,enteaz algorit,ul de
parcurgere Q rdcin - subarbore st6ng - subarbore dreptR. Bunc ia pri,e te ca para,etru
for,al un pointer c 1 de tipul PNOD3 adic P TNOD O P 5. @a pri,ul apel para,etrul &a fi un
pointer ctre rdcina arborelui. %lgorit,ul afiseaz infor,atia din nodul apelat dup care se
autoapeleaz pentru subarborele st6ng apoi pentru cel drept. %tunci c6nd pointerul c a de&enit
NULL procesul recursi&e se #nc*eie pentru ra,ura respecti&3 i #n final pentru #ntreg arborele.
&oid rsd 1N)+ c5
Dif1c5
DcoutUUc-TinfoUUZ Z:
rsd1c-Tst5:
rsd1c-Tdr5:
E
E
0F A%1*#i"+$% SRD DP2a#c$#1#a C! i!*#di!QF
4e vi+itea+ mai *nt;i subarb"rele st;ng al rdcinii! ap"i rdcina! i *n final
subarb"rele drept al rdcinii#
E-+2%$4
entru arborele din figura 1!. de ,ai sus3 ur,rind desco,punerea #n subarbori
prezentat #n aplica ia de ,ai sus3 &o, ob ine ur,toarea Q &izitareR a nodurilor8
.% 1 23 4 53 13 .% 133 !3 $3 (3 8 5
-3 23 43 13 !3 33 .% 1 $3 (3 8 5
23 43 13 !3 33 (3 $3 8
Bunc ia ;#d este foarte ase,ntoare cu cea prezentat #n cadrul parcurgerii R-.-+.
.ingura deosebire este ordinea celor trei ac iuni care se produc #n cadrul fiecrei e"ecu ii8 ,ai
#nt6i se parcurge subarborele st6ng ;#d Dc-K;"F3 apoi se &iziteaz rdcina afi 6ndu-se infor,a ia
din ea c-Ki!(*3 iar #n final se parcurge subarborele drept ;#d Dc-Kd#F.
3F A%1*#i"+$% SDR D2a#c$#1#a C! 2*;"*#di!F
4e vi+itea+ mai *nt;i subarb"rele st;ng al rdcinii! ap"i subarb"rele drept! i *n final
rdcina #
E-+2%$4
entru arborele din figura 1!. de ,ai sus3 ur,rind desco,punerea #n subarbori3 &o,
ob ine ur,toarea Q &izitareR a nodurilor8
.% 1 23 4 53 .% 133 !3 $3 (3 8 53 1
-3 43 23 !3 .% 1 $3 (3 8 53 33 1
43 23 !3 (3 83 $3 33 1

i func ia SDR este ase,ntoare cu cele date pentru algorit,ii R.+ i .R+.
5plica ie rogra, care genereaz un arbore binar ,e,orat #n *eap i-l parcurge prin
cele 3 ,etode.
VincludeUiostrea,.*T
VincludeUconio.*T
t;pedef struct nod
Dint info:
nodAst3Adr:E NN)+:
t;pedef NN)+A N)+:
N)+ r :
&oid srd 1N)+ c5
Dif1c5 Dsrd1c-Tst5: coutUUc-TinfoUUZ Z: srd1c-Tdr5: E
E
&oid rsd 1N)+ c5
Dif1c5 DcoutUUc-TinfoUUZ Z: rsd1c-Tst5: rsd1c-Tdr5: E
E
&oid sdr 1N)+ c5
Dif1c5Dsdr1c-Tst5: sdr1c-Tdr5: coutUUc-TinfoUUZ Z: E
E
&oid creare 1N)+ Yc5
Dint ":
coutUUZnr de ordine Z: cinTT":
if1"00'5 c0N4@@:
else Dc0neX nod: c-Tinfo0":
creare 1c-Tst5 : creare 1c-Tdr5 : E
E
&oid ,ain15
Dclrscr15:
r0N4@@:
creare 1r5 :
coutUUendlUUZparcurgere srd I #n inordine ZUUendl: srd1r5:
coutUUendlUUZparcurgere rsd I #n preordine ZUUendl: rsd1r5:
coutUUendlUUZparcurgere sdr I #n postordine ZUUendl: sdr1r5:
getc*15:E
0.B ARBORI BINARI DE CUTARE
%rborii binari de cutare sunt arbori #n care nodurile con in ca infor,a ii utile nu,ere
#ntregi unice nu,ite cheile arb"relui.
D(i!i i4 .e nu,e te arbore binar de cutare un arbore binar ale crui noduri au o c*eie
de identificare3 iar pentru fiecare nod a&e, propriet ile ur,toare8
)rice c*eie asociat unui nod al subarborelui st6ng este ,ai ,ic dec6t c*eia
asociat nodului:
)rice c*eie asociat unui nod al subarborelui drept este ,ai ,are dec6t c*eia
asociat nodului:
E-+2%$4
0.B.1 OPERA II CU ARBORII BINARI DE CUTARE
C#a#a a#3*#i%*# 3i!a#i d c.$"a#. Se realizeaz aplic6nd de un nu,r de ori
opera-ia de inserare dup regula8
-se co,par c*eia asociat unui nod cu c*eia #nregistrrii care se insereaz.
M"ist "#i 2*;i3i%i". i 8
- c*eia este ,ai ,are dec6t nu,rul3 caz #n care se #ncearc inserarea #n
subarborele st6ng:
- c*eia este ,ai ,ic dec6t nu,rul3 caz #n care se #ncearc inserarea #n
subarborele drept:
- c*eia coincide cu &aloarea de inserat i se renun la inserarea acelui nu,r.
3
9 0 J
R
H
Bigura 2.14
Hnserarea propriu-zis se realizeaz atunci c6nd subarborele st6ng3 respecti& drept3 este
&id3 altfel se reia.
E-+2%$4
Ne propune, s cre, arborele binar de cutare a&6nd drept c*ei nu,erele #ntregi 183
143 93 2!3 193 12.
a ri,a c*eie3 #n cazul nostru 183 o &o, introduce #ntotdeauna #n nodul-rdcin.
a Galoarea c*eie 143 14U183 00T c*eia 14 &a fi succesor st6ng al rdcinii.
.ubarborele st6ng e &id deci se insereaz &aloarea 14.
a Galoarea c*eie 93 9U183 00T c*eia 9 &a fi succesor st6ng al rdcinii. .ubarborele
st6ng con-ine rdcina 14 deci c*eia 9 &a fi succesor st6ng pentru 14. .ubarborele st6ng e &id
deci se insereaz &aloarea 9.
a Galoarea c*eie 2!3 2!T183 00T c*eia 2! &a fi succesor drept al rdcinii.
.ubarborele drept e &id deci se insereaz &aloarea 2!.
a Galoarea c*eie 193 19T183 00T c*eia 19 &a fi succesor drept al rdcinii.
.ubarborele drept con-ine &aloarea 2!. 19U2!3 00T c*eia 19 &a fi succesor st6ng al rdcinii 2!.
.ubarborele st6ng e &id deci se insereaz &aloarea 19
a Galoarea c*eie 123 12U183 00T c*eia 12 &a fi succesor st6ng al rdcinii.
.ubarborele st6ng con-ine rdcina 14 deci c*eia 12 &a fi succesor st6ng pentru 14. .ubarborele
st6ng con-ine rdcina 9 deci c*eia 12 &a fi succesor drept pentru 9. .ubarborele drept e &id deci
se insereaz &aloarea 12.
Pa#c$#1#a a#3*#i%*# 3i!a#i d c.$"a#
arcurgerea arborilor binari de cutare se realizeaz cu algorit,ii deCa #n& a i la arbori
binari8R-S-D 1parcurgere #n preordine53 S-R-D 1parcurgere #n inordine53 S-D-R 1parcurgere #n
postordine5.
1
2
1
4
2
!
9 1
9
1
8
O3;#&a i4
=arcurg;nd *n in"rdine un arb"re binar de cutare v"m "b ine cheile *n "rdine
cresct"are#
"#1#a $!i c:i C!"#-$! a#3*# 3i!a# d c.$"a#
2up tergerea unui n"d care are " anumit cheie! arb"rele rmas trebuie s fie de
cutare#
Go, scrie o func-ie care eli,in nodul cu c*eia - dintr-un arbore binar de cutare.
Bunc-ia &a pri,i ca para,etri pe - /i un pointer S ctre rdcina arborelui3
entru #nceput trebuie cutat #n arbore c*eia " cu aCutorul unui pointer b care3 adres6nd
ini-ial rdcina3 &a a&ansa #n ad6nci,ea arborelui. 7n ,o,entul #n care b &a fi"a nodul cu c*eia "
ce trebuie /ters3 se lanseaz algorit,ul de /tergere.
7n func-ie de pozi-ia #n arbore a nodului #n cauz3 distinge, ,ai ,ulte situa-ii8
1) +ac nodul cu c*eia - referit de S are subarborele st6ng &id3 atunci se ,odific
adresa S cu adresa descendentului drept 1adic a rdcinii subarborelui drept5.
2) .i,ilar3 dac nodul cu c*eia - referit de S are subarborele drept &id3 atunci se
,odific adresa S cu adresa rdcinii subarborelui st6ng.
%) +ac nodul adresat de S ce-l con-ine pe - are a,bii subarbori ne&izi atunci se
deter,in cea ,ai ,are &aloare din subarborele st6ng al nodului S. %ceasta este c*eia din nodul
cel ,ai din dreapta al subarborelui st6ng3 e&ident o frunz. .e pune &aloarea ,a"i, din aceast
frunz #n locul lui -3 iar frunza respecti& se /terge din arbore.
Galoarea lui - se poate inlocui cu c*eia cea ,ai ,ic din subarborele drept.

P#*1#a+$% $#+."*# i+2%+!"a). *2#a ii% c$ $! a#3*# 3i!a# d c.$"a#
V include Uiostrea,.*T
V include Ustdio.*T
t;pedef struct nod D
int info:
nod Ast3Adr:
E NN)+:
t;pedef NN)+A N)+:
N)+ s3rad:
int ":
&oid creareWnod 1N)+ Yb3 int "5
D
if 1b5
D if 1"Ub-Tinfo5 creareWnod 1b-Tst3 "5 :
else
if 1"Tb-Tinfo5 creareWnod 1b-Tdr3 "5 :
else
cout c Zele,entul e"ista deCaZ:
E
else D
b0neX NN)+: b-Tinfo0": b-Tst0N4@@: b-Tdr0N4@@: E
E
&oid inlocuire 1N)+ Yt5
D if 1t -T dr5 inlocuire1t -T dr5:
else D s-Tinfo0t-Tinfo:
s0t: t0t-Tst:
delete s:
E
E
&oid /terge 1int "3 N)+ Yb5
D if 1db5 cout c Z C*eia cutata nu este in arbore d Z:
else if 1"Ub-Tinfo5 /terge 1"3 b-Tst5 :
else if 1"Tb-Tinfo5 /terge 1"3 b-Tdr5 :
else D s0b:
if 1db-Tst5 ))ca+ul 1
D b0b-Tdr: delete s: E
else
if 1db-Tdr5 PPcazul 2
Db0b-Tst: delete s: E
else PPcazul 3
inlocuire1b-Tst5:
E
E
&oid .R+ 1N)+ p5
D if 1p5 D
.R+ 1p-Tst5 :
cout c p-Tinfo c Z Z:
.R+ 1p-Tdr5 :
E
E
&oid ,ain 1 5
D rad0N4@@:
cout c Z "0Z: cin e ":
X*ile 1"5 D
creareWnod1rad3"5:
cout c Z"0Z: cin e ":
E
cout c endl:
.R+1rad5:
cout c Z+ati c*eia care se /terge8 Z: cin e ":
/terge1"3rad5: cout c endl:
.R+1rad5:
>
01seraii:
f >heile unui arb"re binar de cutare sunt distincte? alg"ritmul aplicat
mai sus! nu ne permite s intr"ducem de d"u "ri aceea<i cheie#
f =entru "rice n"d! t"ate cheile din subarb"rele st;ng al n"dului sunt mai mici dec;t
cheia din n"dul respectiv! i t"ate cheile din subarb"rele drept al n"dului sunt mai mari dec;t
cheia din n"dul respectiv#
f >heia maxim i cheia minim dintr@un arb"re binar de cutare sunt f"arte u "r de
reperat:
@ cheia minim se gse te *n n"dul cel mai din st;nga
@ cheia maxim se gse te *n n"dul cel mai din dreapta
0.B.0 ARBORI BINARI DE CUTARE ECTILIBRA I
Hdeea ec*ilibrrii arborilor binari de cutare se datoreaz lui %delson-Gels?ii /i @andis3
care au introdus o clas de arbori ec*ilibra-i dup #nl-i,e nu,i-i arbori %G@.
) alt clas de arbori3 ec*ilibra-i cu aCutorul culorilor asociate nodurilor3 sunt arborii
Ro/u-/i-Negru3 introdu/i de ctre La;er. %t6t arborii %G@3 c6t /i arborii bicolori asigur un ti,p
de e"ecu-ie de )1log n53 #n cazul cel ,ai defa&orabil. %ceste clase de arbori sunt utile pentru
aplica-ii #n care n3 di,ensiunea spa-iului de cutare3 este suficient de ,ic pentru ca arborele s
poat fi re-inut #n ,e,oria intern. entru cazul #n care infor,a-iile se gsesc pe un suport de
,e,orare e"tern3 algorit,ii pe arbori %G@ sau pe arbori bicolori de&in ineficien-i datorit
nu,rului ,are de cereri de acces la ,e,oria e"tern 1opera-ii costisitoare ca ti,p5. ) solu-ie #n
acest sens sunt A@arb"rii! no-iune introdus de La;er /i >cCreig*t.
) alt clas de structuri de cutare sunt arbori splay3 introdu/i de .leator /i NarCan. 4n
arbore spla; este un arbore binar de cutare #n care cutarea3 inserarea /i /tergerea sunt e"ecutate
ca #n arborii binari de cutare obi/nui-i3 dar fiecare astfel de opera-ie este ur,at de o opera-ie
spla;3 care const #ntr-o sec&en- de rota-ii3 si,ilar celor e"ecutate #n arbori %G@ sau arbori
bicolori.
A#3*#i Ad%;*!-M%;5ii-La!di; DAMLF
%rborii %G@3 introdu/i de %delson-Gels?ii /i @andis #n 19$23 reprezint pri,a structur
de date care garanteaz un ti,p de e"ecu-ie de )1log n5 #n cazul cel ,ai defa&orabil pentru
opera-iile de cutare3 /tergere /i inserare.
D(i!i,i4 4n arb"re &BC este un arbore binar de cutare astfel #nc6t pentru orice nod
diferen-a dintre #nl-i,ile subarborelui st6ng3 respecti& drept este cel ,ult 1.
Observa8ii:
1. 4n arbore binar &id este arbore %G@.
2. )rice subarbore al unui arbore %G@ este arbore %G@.
M"e,plu 8
Bigura 1(
%delson-Gels?ii /i @andis au de,onstrat ur,toarea teore,3 care garanteaz c opera-ia
de cutare #ntr-un arbore %G@ necesit O(l"g n) co,para-ii.
T*#+. 8 7nl-i,ea * a unui arbore %G@ cu n noduri satisface rela-ia 8
* U 1344'4 log
2
1nS25-'3328
)pera-iile de inserare /i /tergere din arborele %G@ trebuie s fie #nso-ite de o reec*ilibrare
a arborelui3 astfel #nc6t #nl-i,ea arborelui s fie per,anent de )1log n5. Ni,pul necesar
opera-iei de reec*ilibrare trebuie s fie de )1log n53 altfel inserrile /i /tergerile din arbore de&in
opera-ii prea costisitoare.
D(i!i,i4 Nu,i, fact"r de echilibru 1notat 3E5 al unui nod dintr-un arbore binar
diferen-a dintre #nl-i,ea subarborelui st6ng /i #nl-i,ea subarborelui drept al nodului respecti&.
Observa8ie: 7ntr-un arbore %G@3 factorul de ec*ilibru al oricrui nod poate fi -13' sau 1.
+e e"e,plu3 factorul de ec*ilibru al nodului cu c*eia $ este ' iar3 factorul de ec*ilibru al
nodului cu c*eia 4 este 1.
#nserarea 'ntr6un ar1ore 5"L
. consider, arborele %G@ cu c*eia 8 8
Hnser6nd un nod cu c*eia 9 ob-ine,
ur,torul arbore ec*ilibrat 8
Hnser6nd un nod cu c*eia 1'3 ob-ine,
un arbore neec*ilibrat 8
entru a reec*ilibra arborele &o, face o
r"ta8ie la st;nga 1D:53 deoarece arborele este
neec*ilibrat #n dreapta. Nodul cu c*eia 9 &a
de&eni rdcin3 nodul cu c*eia 8 &a fi fiul
st6ng al rdcinii3 iar nodul cu c*eia 1' &a fi
fiul drept.
Hnser6nd un nod cu c*eia 23 arborele ob-inut
r,6ne ec*ilibrat 8
Hnser, un nod cu c*eia 1 8
%rborele a de&enit neec*ilibrat #n st6nga:
efectu, o r"ta8ie la dreapta 1D25
Hnser6nd un nod cu c*eia ! ob-ine, din nou
un arbore neec*ilibrat 8
Go, face o rota-ie la st6nga3 ur,at de o
rota-ie la dreapta 1D:25 8
+in acest e"e,plu deduce, c inserarea nodurilor #ntr-un arbore ec*ilibrat poate
conduce la dezec*ilibrarea lui: arborele trebuie s fie atunci reorganizat3 ,odific6ndu-i-se
structura3 ori de c6te ori o inserare dezec*ilibreaz un nod.
+ac not, cu % cel ,ai apropiat ascendent al nodului ce este inserat cu factorul de
ec*ilibru S 23 reec*ilibrarea arborelui se &a face astfel 8
>a+ul 1 8 +ac BM1%5 0 23 noul nod este inserat #n subarborele st6ng al lui %. Not, cu L
fiul st6ng al lui %.
+ac noul nod este inserat #n subarborele st6ng al lui L3 caz #n care BM1L5 0 13
reec*ilibrarea se face printr-o rota-ie si,pl spre dreapta 1D25.
+ac noul nod este inserat #n subarborele drept al lui L3 caz #n care BM1L5 0 -13
reec*ilibrarea se face printr-o rota-ie dubl st6nga /i dreapta 1D:25.
>a+ul 2 8 +ac BM1%5 0 -23 noul nod este inserat #n subarborele drept al lui %. Not, cu
L fiul drept al lui %.
+ac noul nod este inserat #n subarborele drept al lui L3 caz #n care BM1L5 0 -13
reec*ilibrarea se face printr-o rota-ie si,pl spre st6nga 1D:5.
+ac noul nod este inserat #n subarborele st6ng al lui L3 caz #n care BM1L5 0 13
reec*ilibrarea se face printr-o rota-ie dubl dreapta /i st6nga 1D2:5.
U"#1#a unui nod dintr-un arbore %G@ poate conduce de ase,enea la dezec*ilibrarea
arborelui3 restabilirea ec*ilibrului fc6ndu-se tot prin aplicarea unor rota-ii.
Conclu/ii :
%rborii %G@ constituie o structur de cutare eficient. rincipalele deza&antaCe sunt
necesitatea ,e,orrii unui c6,p supli,entar pentru factorul de ec*ilibru /i faptul c algorit,ii
de inserare3 respecti& /tergere sunt relati& co,plica-i.
CAPITOLUL III
GRAFURI ORIENTATE
3.1 GRAFURI ORIENTATE NO IUNI DE BAZ
Defini ie: .e nu,e/te graf orientat, o perec*e ordonat de ,ul-i,i G0123453 unde 2
este o ,ul i,e finit /i ne&id de ele,ente nu,ite &6rfuri sau noduri i 4 este o ,ul i,e de
perec*i *#d*!a" de c6te dou ele,ente din 23 nu,ite arce.
7n cazul general3 #ntr-un graf orientat G 0 123 45 utiliz, nota iile 8
, 9 nu,rul arcelor : n 9 nu,rul &6rfurilor :
2 0
{ }
n
x x x 3...3 3
2 1
9 ,ul-i,ea &6rfurilor :
4 0
{ }
m
u u u 3...3 3
2 1
9 ,ul-i,ea arcelor :
+ac un arc u
?
trece prin nodurile " /i ;3 atunci el se noteaz u
?
01"3 ;5. Nu,i,
nodul " ca e"tre,itate ini ial si pe ; ca e"tre,itate final a arcului. %rcul 1"3 ;5
este diferit de arcul 1;3 "5.
Defini ie: entru un arc u
?
0 1"3 ;53 &o, spune c 8
&6rfurile " /i ; sunt adiac!" /i se nu,esc e"tre,it-ile arcului u
?
:
arcul u
?
/i &6rful " sunt i!cid!" #n graf. @a fel3 arcul u
?
/i &6rful ;:
+ac pentru un arc nodul ini-ial coincide cu nodul final atunci acesta se nu,e/te 3$c%..
Defini ie: G#ad$% -"#i*# al unui &6rf "3 notat d
S
1"53 reprezint nu,rul arcelor de
for,a 1"3 ;53 respecti& arcele care ies din acel &6rf.
Defini ie: G#ad$% i!"#i*# al unui &6rf "3 notat d
-
1"53 reprezint nu,rul arcelor de
for,a 1;3 "53 respecti& arcele care intra #n acel &6rf.
4n &6rf care are gradul ' se nu,e/te &'#( i)*%a". 4n &6rf care are gradul 1 se nu,e/te
&'#( "#+i!a%.
E-+2%$4
Bigura 3.1
1
2
$
! 4
3
entru graful din figura 3.1 G 0 123453 a&e,
2 0 D13 23 33 43 !3 $E /i
4 0 D113153 113253 113453 113!53 123353 123453 123$53 133153 133253 143!53 1!3253 1$345E
d
S
115033 d
-
11502.
11315 este bucla.
Defini ie: .e nu,e/te %a!, #n graful orientat G3 o succesiune de arce @ 0 1u
1
3 u
2
3.3 u
?
53
unde u
1
3 u
2
3.3 u
?
43 cu proprietatea c #ntre oricare dou arce &ecine u
i
3 u
iS1
au o e"tre,itate
co,un. 7n definirea lan ului nu se ine cont de orientarea arcelor.
G6rfurile "
'
a lui u
1
/i "
?S1
a lui u
1
se nu,esc -"#+i".,i% %a!,$%$i/ iar nu,rul de
,uc*ii care intr #n co,ponen-a sa reprezint lungi,ea lan-ului.
Defini ie: .e nu,e/te d#$+ #n graful orientat G3 o succesiune de &6rfuri notat + 0 1"
1
3
"
2
3.3 "
?
53 unde "
1
3"u
2
3.3 "
?
23 cu proprietatea c 1"
1
3 "
2
53 F1"
?-1
3 "
?
53 sunt arce ale grafului.
+ac &6rfurile "
1
3 "
2
3.3 "
?
sunt distincte dou c6te dou3 d#$+$% se nu,e/te %+!"a#. Hn
caz contrar3 dru,ul este !%+!"a#.
Defini ie: .e nu,e/te ci#c$i" #ntrIun graf orientat3 un dru, +0 1"
1
3 "
2
3.3 "
?
5 cu
proprietatea c "
1
0 "
?
/i arcele 1"
1
3 "
2
53 1"
2
3 "
35
3 F3 1"
?-1
3 "
?
5 sunt distincte dou c6te dou.
+ac #ntrIun circuit3 toate &6rfurile cu e"cep-ia pri,ului /i a ulti,ului sunt distincte dou
c6te dou3 atunci ci#c$i"$% se nu,e/te %+!"a#. 7n caz contrar3 el este !%+!"a#.
entru graful orientat G 0123 45 din figura %#1 a&e,8
@
1
0 113 353 133 253 123 45 - lan- ele,entar
+
1
0 1$3 43 !3 23 $5 - dru, ele,entar
C
2
0 123 43 !3 25 - dru, ele,entar
C
3
0 133 23 43 !3 23 35 - dru, neele,entar
No iunile de graf par ial i subgraf se definesc ca i #n cazul grafurilor neorientate.
Definiie8 .e nu,e/te graf par-ial al unui graf orientat G0 123 45 un graf orientat G
1
0 123
G53 cu G

4 1adic3 un graf par-ial G


1
este graful G #nsu/i sau se ob-ine din graful G ini-ial prin
supri,area unor arce5.
Definiie8 .e nu,e/te subgraf al unui graf orientat G 0 123 45 un graf orientat G
2
0 1J3
G5 astfel #nc6t J 23 iar G con-ine toate arcele din 4 care au a,bele e"tre,it-i #n J3 adic un
subgraf al unui graf orientat G3 se ob-ine prin eli,inarea unor &6rfuri /i a tuturor arcelor
incidente cu &6rfurile eli,inate.
Definiie8 4n graf orientat G0 123 45 se nu,e/te c*!- dac pentru oricare dou
&6rfuri distincte "3 ; 23 e"ist #n G un lan- a&6nd drept e"tre,it-i pe " /i ;.
Definiie8 .e nu,e/te c*+2*!!". c*!-. a unui graf G0123 453 un subgraf cone" al
su G
1
01J3 G5 ,a"i,al #n raport cu aceast proprietate3 adic3 oricare ar fi un nod " 4-G3 nu
e"ist lan- #ntre acel nod /i &6rfurile care fac parte din subgraf.
Bigura 3.2 Bigura 3.3
Exemplu8 Graful orientat din figura 3.2 este cone"3 dar graful din figura 3.3 nu este
cone"3 el con-ine trei co,ponente cone"e8 G
1
0 1J
1
3 G
1
53 unde J
1
0 D13 23 $E /i G
1
0 D<13 2=3 <13
$=3 <23 $=E /i cea de a doua co,ponent cone" G
2
0 1J
2
3 G
2
53 unde J
2
0 D43 !E /i G
2
0 D<43 !=E
iar cea de-a treia co,ponent cone" G
3
0 1J
3
3 G
3
53 unde J
3
0 D3E /i G
2
0 DgE.
Definiie8 4n graf orientat G0 123 45 se nu,e/te "a# c*!- dac pentru oricare dou
&6rfuri distincte "3 ; 23 e"ist #n G un dru, de la " la ; precu, si un dru, de la ; la ".
Definiie8 .e nu,e/te c*+2*!!". "a# c*!-. a unui graf G0123 453 un subgraf tare
cone" al su G
1
01J3 G5 ,a"i,al #n raport cu aceast proprietate3 adic3 oricare ar fi un nod "
4-G3 nu e"ist dru, #ntre acel nod /i &6rfurile care fac parte din subgraf.
1
2
$
! 4
3
1
2
$
! 4
3
3.0. DRUMURI I CIRCUITE LN GRAFURI ORIENTATE
orni, de la un e"e,plu de ,atrice de adiacen- pe un graf orientat dat /i se aplic o
serie de transfor,ri succesi&e.
Bie graful orientat G cu n04 noduri /i ,atricea sa de adiacen- a8


Def. Ma"#ica d#$+$#i%*# ;" * +a"#ic d c$ ! %i!ii Vi ! c*%*a!/ C! ca# (ica#
%+!" d@i/7A ;"4
1/ dac. -i;". d#$+ d %a !*d$% i %a !*d$% 7 C! 1#a(?
0/ C! ca) c*!"#a#.
4n algorit, si,plu de deter,inare a ,atricei dru,urilor unui graf orientat este
algorit,ul Ro;-hars*all. %cest algorit, construie/te ,atricea dru,urilor pornind de la ,atricea
de adiacen- a grafului /i const #n ur,toarele8
+ac a<i3C=0'3 #n ,atricea de adiacen- a grafului dat3 atunci spune, c nu a&e, arc
direct de la nodul i la nodul C3 dar &o, cuta un nod ?3 diferit de nodul i /i de nodul C3 cu
propietatea c e"ist dru, de la nodul i la nodul ? /i dru, de la nodul ? la nodul C.
%stfel8 un ele,ent a<i3C=3 care este '3 de&ine 13 dac e"ist un nod ? astfel #nc6t a<i3?=01 /i
a<?3C=01. entru a gsi arcele nodului ?3 trebuie parcurse pe r6nd #n &ariabila ? toate nodurile 13
23 F3 n.
5L702#TM8L 2096:524;5LL <pseudocod=:
D pentru ?013 n e"ec
pentru i013 n e"ec 1i O ? 5
pentru C013 n e"ec 1C O ?5
dac 1a<i3C=0'5 /i 1iO?5 /i 1CO?5 atunci
a<i3C=ia<i3?=Aa<?3C=:
E

,
_

11''
''''
''11
'11'
1
0
3 B
%tribuirea a<i3C=ia<i3?=Aa<?3C= este o scriere elegant a regulii de ,ai sus8
- #n cazul #n care unul din ele,ntele a<i3?= /i a<?3C= este '3 a<i3C= &a r,6ne ':
- dac a<i3?=01 /i a<?3C=013 atunci a<i3C= de&ine 1.
Confor, algorit,ului se ob-ine ,atricea dru,urilor d<i3C=8
Observa8ii:
1. +ac d<i3i=01 #nsea,n c e"ist un circuit care trece prin nodul i.
2. +ac linia i /i coloana i3 din ,atricea ob-inut3 cuprind nu,ai ele,ente de '3
deduce, c nodul i este un &6rf izolat3 adic nu e"ist dru,uri care s duc la nodul i
/i nici care s plece din nodul i.
D#$+$#i Vi ci#c$i" :a+i%"*!i!
4na dintre cele ,ai cunoscute proble,e econo,ice este proble,a co,is &oiaCorului.
Co,is &oiaCorul trebuie s prezinte s-au s distribuie ,arfa co,andat la o serie de centre
distribuite #n general neliniar pe o anu,it zon teritorial 1localit-ile dintr-un Cude-3 ,agazinele
dintr-un cartier3 persoanele dintr-un sat etc5. +ac nu,rul de obiecti&e care trebuie &izitate este
,are sau foarte ,are iar ti,pul disponibil foarte li,itat atunci de&ine &ital o ase,enea
organizare a trecerii pe la fiecare obiecti& #nc6t s se efectueze #n ti,pul ,ini, posibil. %cest
ti,p ,ini, se traduce prin dru,ul cel ,ai scurt3 iar cel ,ai scurt dru, este e&ident cel #n care
se trece pe la fiecare obiecti& o singur dat. 7n plus3 la sf6r/it trebuie s se afle #n punctul ini-ial3
adic sediul fir,ei la care lucreaz.
) reprezentare a regiunii apro&izionate3 #n care centrele pe la care se trece sunt
&izualizate prin puncte iar cile de acces la acestea prin seg,ente de curbe3 &a fi e&ident un graf3
proble,a reduc6ndu-se la a gsi circuitul *a,iltonian de lungi,e ,ini,.
7n ti,p3 s-au e&iden-iat o ,ultitudine de proble,e reductibile la gsirea unui dru, 1sau
circuit5 *a,iltonian #ntr-un graf3 cu, ar fi8
1. roble,a po/ta/ului 1gsirea traseului cel ,ai scurt care trece pe la toate locuin-ele ce
apar-in de oficiul po/tal la care lucreaz acesta5:
2. roble,a adunrii de/eurilor 1cel ,ai scurt dru, care trece pe la toate punctele de
depozitate a de/eurilor5:

,
_

1111
''''
1111
1111
3. roble,a succesiunii opera-iilor 1e"ecutarea ,ai ,ultor opera-ii pe o ,a/in #n acea
ordine #n care su,a ti,pilor consu,a-i cu pregtirea ,a/inii pentru trecerea de la o
opera-ie la ur,toarea s fie ,ini,5
4. )rdinea lipirii unor co,ponente electronice pe o plac3 etc:
D"#+i!a#a d#$+$#i%*# :a+i%"*!i!
roble,a deter,inrii dru,ului 1circuitului5 *a,iltonian de &aloare opti, s-a do&edit
deosebit de dificil3 nee"ist6nd nici acu, un algorit, care s rezol&e proble,a #n ti,p
polino,ial /i nici ,car o ,etod si,pl prin care s se decid dac #ntr-un graf dat e"ist sau
nu dru,uri *a,iltoniene.
M"ist #ns ,ai ,ul-i algorit,i3 unii e"ac-i al-ii *euristici3 care reu/esc3 #ntr-un caz sau
altul3 s rezol&e proble,a satisfctor /i #n ti,p util.
A. A%1*#i"+$% %$i F*$%5;
Pa;$% 1. .e scrie ,atricea boolean % asociat grafului G.
Pa;$% 0. .e deter,in ,atricea + a dru,urilor grafului G prin procedeul e"pus la
#nceputul capitolului /i apoi ,atricea > 0 H S +.
Pa;$% 3. .e #,parte ,ul-i,ea nodurilor grafului #n sub,ul-i,i disCuncte astfel8
1. .e consider #n ,atricea > liniile pline 1cu toate ele,entele 15. Nodurile ce
corespund liniilor pline cu 1 for,eaz sub,ul-i,ea C
1
.
2. .e eli,in liniile /i coloanele care corespund nodurilor din sub,ul-i,ea stabilit.
3. .e reia ra-iona,entul de la punctul 1 pe ,atricea redus ob-inut la punctul 2
ob-in6ndu-se ur,toarea sub,ul-i,e /i #n continuare toate celelalte p6n se
epuizeaz toate liniile ,atricei.
Pa;$% B. .e construie/te graful G` #n care8
1. Nodurile care for,eaz o sub,ul-i,e sunt reprezentate prin puncte #n interiorul
unui dreptung*i /i #ntre acestea se traseaz arcele e"istente #n graful ini-ial G.
2. .e traseaz legturile dintre sub,ul-i,i. Mle sunt reprezentate prin arcele
e"istente #n graful ini-ial G #ntre nodurile sub,ul-i,ii C
1
/i cele ale sub,ul-i,ii
C
2
3 #ntre nodurile sub,ul-i,ii C
2
/i cele ale sub,ul-i,ii C
3
etc.
Pa;$% 9. .e gsesc dru,urile *a,iltoniene
4n dru, *a,iltonian se gse/te plec6nd de la un &6rf din sub,ul-i,ea C
1
3 trec6nd prin
toate &6rfurile acesteia cu un dru, *a,iltonian3 din ulti,ul &6rf la care se aCunge #n C
1
trec6nd la
un &6rf din C
2
3 parcurg6nd #n continuare un dru, *a,iltonian #n a doua sub,ul-i,e /i tot a/a3
trec6nd prin toate sub,ul-i,ile /i parcurg6nd3 deci3 toate nodurile grafului ini-ial3 o singur dat.
%plic6nd acest procedeu #n toate ,odurile posibile se ob-in toate dru,urile *a,iltoniene din
graful ini-ial G. 1Observa8ie8 poate s nu e"iste nici un dru, *a,iltonian #n graful G3 caz #n care
algorit,ul se opre/te deoarece la un anu,it pas nu ,ai e"ista nici o linie plina cu 15.
Observa8ie# %lgorit,ul lui Boul?es reduce gsirea dru,urilor *a,iltoniene #n graful
ini-ial G 1care #n proble,ele practice este foarte ,are5 la gsirea ,ai ,ultor dru,uri
*a,iltoniene ,ai ,ici #n co,ponente tare cone"e ale grafului. +ac un graf are o singur
co,ponent tare cone"3 algorit,ul lui Boul?es nu este eficient3 #n acest caz trebuind aplica-i al-i
algorit,i cu, ar fi cel bazat pe #n,ul-irea latin.

S-ar putea să vă placă și