2. Gradul unui varf
Gradul unui varf este caracterizat prin gradul intern gi gradul extern.
Definitie
Gradul intern al unui varf x al grafului G este egal cu numéarul arcelor care intra in varful
x gi senoteazd cu d (x).
Definitie
Gradul extern al unui varf x al grafului G este egal cu numarul arcelor care ies din varful
x gi se noteaza cu d' (x).
+ se numeste varf terminal un varf care are suma gradelor egala cu 1 (este incident cu un
singur arc);
+ se numeste varf izolat un varf care are suma gradelor egal cu 0 (nu este adiacent cu
niciun alt nod al grafului); a (1)=2 at (ay=1
‘ 7 a” (2)=0 at (2)=2
Exemplu 2 » O.. a3 at (3) =2
Fie graful 6= (x, U).n=7 a4) a*(4)=0
a ee “g/t gm eee
m= = a (6 at (6)=1
o a (7)=0 a* (7) =0
° varfuri terminale: 4, 5 si 6
varf izolat: 7
Teorema
Intr-un graf G=(X,U) cu n varfuri si m arce, suma gradelor interne ale tuturor varfurilor este
egal cu suma gradelor externe ale tuturor varfurilor si este egala cu numarul de arce:
Ler )=La(i)=m
Exemplu
Fie graful G=(X,U).
n=7 - numéarul de varfuri
m=6 - numéarul de arce
ata)
a (2)=0 at (2)
2 F (3) =2 a! (3)
dq (4)=1 at (4)=0
ul fue . a (5)=1 at (5)=0
d-(6)=0 a (6
» a7 (7)=0 ah(7)=0 am (1) 4d” (2) +07 (3) HA (4) 407
(5) +a (6) +d (7) =
=d* (1) +a* (2) +a" (3) +47 (4) 4a* (5) 4a" (6) 4d" (7) =6
suma gradelor interne = 6
suma gradelor externe = 6d. Reprezentare prin matricea costurilor
Matricea costurilor unui graf cu n varfuri este o matrice patraticd de ordinul n, ale carei
elemente a: , ; sunt definite astfel:
¢, dacé existé un arc cu costul c>0 intre varfurile i si j, cu i@j
daca i=j
[42, dacé nu exista are intre varfurile i sij, cui#j
Exista doua forme de reprezentare a matricei costurilor:
+ matricea costurilor minime — pentru a determina valoarea minima a functiei de cost (+=)
+ matricea costurilor maxime — pentru a determina valoarea maxima a functiei de cost (-=)
Exemplu og + 203 4 5 6 7
Fie graful G= (x, U) 2, dol=]*]-l-]<|—
n=7 - numérul de varfuri
nes = numarul de arce x delolsl=[-l=[=
si costurile aate[folel=[=[ =
wi=5, u2=3, u3=4, ws=6, U5=2, Ug=5 am fae [ae [oo [am [ae | ae
Matricea costurilor minime asociata grafului dateste. | = | = | + [= | |e | te
d=l=l-l=felo[ =
qelelelefe[e[o
5. Graf ponderat
Definiti
Se numeste 9'af ponderal un graf in care fiecare arc are asociata o yaloare/cost.
Un graf ponderat poarté denumirea si de grat valoric sau graf cu costuri
Valoarea asociata arcului are semnificatia de “cost” al legaturii intre cele doua varfuri, sau
de “distanta” intre cele doua varfuri.
Un graf ponderat poate fi reprezentat utilizand matricea costurilor.
Exemplu
Fie graful G=(X,U).
n=7 ~ numarul de
varturi
de arce si costurile’
Ui=5, u2=3, U3=4, U4=6, U5=2, U6E=5
Graf ponderat: »6. Graf partial
Definitie
Fie graful G=(X,U) si multimea VoU. Graful 6 =(x,V) se numeste graf partial al arafulul G.
Un graf partial al grafului G este chiar graful G sau se obtine din G pastrand toate varturile
sieliminand niste arce.
Teorema
Numarul de grafuri partiale ale unui graf cu m arce este egal cu 2".
Exemplu - °
Fie graful c= (x, 0). n=7 2 2 a
> numarul de varfuri » [. s
m=6 ~ numarul de arce ‘
Prin eliminarea arcelor (2,1) si (3,1) se obtine graful partial:
numarul devartui 1» Og,
numarul de arce al y)
b. Graf bipartit
Definitie
Graful G= (x, 0) se numeste graf biparlit daca exist doua mulfimi nevide de varfuri a si 8
care au urmatoarele proprietati:
- AUB=X
> ANB=@
= orice arc din multimea U are o extremitate in multimea de varfuri A gi cealalta extremitate
In multimea de varfuri B.
Definitie
Se numeste graf bipartit complet, un graf bipartit cu proprietatea ca pentru orice varf x din A
si orice varf y din 8, exist un arc format din cele doua varfuri care apartin mulfimii U.
Pentru un graf orientat bipartit complet fiecare varf din A trebuie sa fie fie adiacent cu
fiecare varf din mulfimea B.
Exemple
Fie graful G=(X,U). Graf bipartit: Graf bipartit complet:
n=4 - numarul de varfuri 1
X={1,2,3,4} 2 2
B={2,4} 3c. Graf turneu:
Definitie
Un graf orientat in care, Intre oricare doua varfuri exista un singur arc si numai unul, se
numeste graf tumeu.
+ arcul dintre dou varfuri poate avea oricare dintre cele doud orientari;
+ graful turneu este un graf complet;
Exemple:
Graf turneu:
Fie graful G=(X,U). rat tumeu >
—numérul de varfuri
0 —numarul de arce
3
4
Exemple
Fie graful G=(X,U).
n = numarul de varfuri
m - numarul de arce
1. Graf conex: a Graful nu este conex
n=7, m=7 (are 2 componente sonexe):
1 5 n=7, m=64
3 7
3. Graf conex: 4. Graful nu este conex
n=1, m=0 (are 5 componente conexe):
n=7, m=3
1
°Definitie
Un graf orientat Gse numeste graf tare conex daca are proprietatea ca exista un drum
Intre oricare varturi x si y distincte.
Definitie:
Daca un graf G=(x,U) nu este conex, se numeste componenta tare conex4a grafului
un subgfraf conex c=(¥,V) al sau, maximal in raport cu aceasta proprietate (contine
numarul maxim de varfuri din G care au proprietatea c&_sunt legate printr-un drum).
a. Metoda de parcurgere “in latime” (BF — Breadth First)
Se viziteaza mai intai un varf initial i, apoi vecinii acestuia, apoi vecinii nevizitati ai
acestora, si asa mai departe pana cand se parcurg toate varfurile grafului,
Exemple:
Fie graful G=(X,U).
n=? -numarul de varfuri
m=7 -numarul de arce
Parcurgeri in latime
+1,3,7,4
12,1304
+3,1,4,7
+4
+5
+6,5
+7b. Metoda de parcurgere “in adancime” (DF — Depth First)
Se viziteazA mai intai un varfinitia i, dup& care se percurge unul dintre vecinii sai
nevizitati j, dupa care se trece la alt vecin nevizitat al lui 3, si aga mai departe pand
cand se parcurge tn adancime ramura respectiv. Cand s-a ajuns la capatul ei, se revine la
varful din care s-a plecat ultima data si se parcurge alt vecin nevizitat
Exemple: ’
Fie graful G=(X,U). { ‘
- numéarul de varfuri
m=7 - numarul de muchii
Parcurgeri in ad&ncime:
+1,3,4,7 ‘
+2,1,3,4,7
+3,1,7,4
4
+5
+6,5
+7
IV. Arbori
4. Terminologie
Definitie
Se numeste arbore, un graf neorientat conex si fara cicluri.
Teorema
Fie G un graf neorientat cu n noduri. G este arbore daca si numai daca are n-1 muchii si
nu contine cicluri.
Definitie
Se numeste arbore cu radacina, un arbore in care exist4 un nod privilegiat numit nod
radacina.
Definitie
Se numeste arborescenta sau structura arborescenta, un arbore cu radacina, in care s-a
stabilit nodul radacina.
+ radacina arborelui este un nod in care nu intra nicio muchie;
+ cu exceptia rdacinii, fiecare nod are propietatea c& in el intr o singuraé muchie; acesta
leaga nodul respectiv de un alt nod numit predecesor sau parinte;
+ dintr-un nod pot iesi una sau mai multe muchii; fiecare astfel de muchie leaga nodul
respectiv de un alt nod numit succesor sau fiu;
+ nodurile arborelului sunt organizate pe nivele, primul nivel find ocupat de nodul radacina;
nodurile de pe ultimul nivel se caracterizeaza prin faptul ca din ele nu iese nicio muchie si
se numesc noduri terminale sau frunze;
> nodurile pot contine o asa-numita informatie util, numita si cheia nodulul;Exemplu
Fie graful G=(x,U). n=?
= numérul de noduri_m=6
= numarul de muchii
X={1,2,3,4,5,6,7)
U={ (1,2), (1,7), (2,3), (2,5), (2,6), (3,4) }
Graful G este arbore cu radacina pentru c& are o singuré componenta conexa si este
aciclic. Orice nod al grafului poate fi considerat nod radacina,
Construirea arborelui avand ca radacina nodul 1:
+ radacina arborelui este nodul 1;
* ascendentii nodului 3 sunt nodurile 1 gi 2;
* ascendentul direct (predecesor) al nodului 3 este nodul 2;
+ descendentii nodului 2 sunt nodurile 3, 4, 5 si 6;
+ descendentii directi (succesor) ai nodului 2 sunt nodurile 3, 5 si 6;
* nodurile terminale (frunze) sunt: 4, 5, 6 si 7;a. Reprezentare prin matricea de adiacenta
Exemplu
Fie arborele cu radacina din figura alaturata.
n=7 - numéarul de noduri
m=6 - numarul de muchii
Matricea de adiacenta asociata arborelului cu radacina este:
1 2 3 4 5 6 7
-
Rlolofololelo
ol[R| Hole} ofK
clolofHlolHlo
clolololH|ole
clolololol|Hie
clololololHle
clolofelolofreb. Reprezentare prin lista de adiacenta
Exemplu
Fie arborele cu radacina din figura
alaturataé. n=7 - num&rul de noduri
m=6 - numéarul de muchii
Lista de adiacenta asociata grafului dat este:
Nod | Lista de adiacenta
1
saflalal se} oe]c. Reprezentare prin referinte descendente
Legatura de tip tata — se utilizeaza un vector t cu n componente, definit
astfel: t [i]=eticheta parintelui nodului i
Exemplu
Fie arborele cu radacina din figura alaturata.
n=7 - numéarul de varfuri
m=6€ - numarul de muchii
4
Legatura de tip tata (vectorul de tati):
*{ of 2] 2] 3] 2] 2]2c. Reprezentare prin referinte descendente
Legatura de tip tata — se utilizeaza un vector t cu n componente, definit
astfel: t [i]=eticheta parintelui nodului i
Exemplu
Fie arborele cu radacina din figura alaturata.
- numéarul de varfuri
- numarul de muchii
Legatura de tip tata (vectorul de tati):
*{ of 2] 2] 3] 2] 2]2
TST eT
d. Reprezentare prin referinte ascendente
Legatura de tip parinte nod terminal
—se utilizeaza doi vectori cu n-1 componente, definiti astfel:
t [i] = nodul terminal cu valoarea cea mai mica
pt[iJ= parintele nodului terminal t [i]
Construirea vectorilor:
Pasul 1: Pentru fiecare indice i de la 1 la n-1 executa:
Pasul 2: se cauté nodul terminal cu eticheta cea mai
mica Pasul 3: se atribuie aceasta eticheta lui t [i]
Pasul 4: se atribuie lui pt [i] eticheta nodului parinte al nodului terminal
+ [i] Pasul 5: se elimina din arbore nodul terminal t [i]
L
Exemplu
Fie arborele cu radacina din figura ° oN
alaturata. n=7 - numarul de noduri 2 Z|
m=6 - numé&rul de muchii 500, No.
“|
Legatura de tip parinte nod terminal. ,0
e | 4] a] 5} 6] 2] 2
pt | 3
2} 2} a] 7
aDefinitie
Se numeste arbore binar, un arbore cu proprietatea ca fiecare nod, cu exceptia nodurilor
terminale, are cel mult doi descendenti directi
+ Intr-un arbore binar, cei doi succesori ai unui nod (daca exist), se numesc succesorul
stng sau subarborele stang respectiv succesorul drept sau subarborele drept;
+ numarul de niveluri, mai putin cel al radacinii, ocupate de nodurile arborelului, se numeste
adéncimea arborelului binar (lungimea celui mai lung lant care porneste din réd&cina);
a. Reprezentare prin referinte descendente
Legatura de tip tata
— se utilizeaz& un vector t cu n componente, definit astfel:
t[ij=eticheta pdrintelui nodului i
Exemplu
Fie arborele cu radacina din figura
alaturaté. n=7 - numarul de noduri
m=6 - numarul de muchii .
Leg&tura de tip tata (vectorul de tati):
tb. Reprezentare prin vectori pentru succesor stang $i succesor drept
Se utilizeaza doi vectori cu n componente fiecare, definiti astfel:
(j, dacté j este succesor sténg al nodului i nodul i
sfli]=4
, mare succesor stan,
lo, daca g
‘a [j, dacé j este suecesor drept al nodului i nodul i
dr[i] =
lo, dacé nu are succesor drept
Exemplu
Fie arborele cu radacina din figura 7
alaturaté. n=7 - numarul de noduri
m=6 - numérul de muchii
Vectorii pentru succesorul stang, respectiv drept:
st
arto 7] 4} o} 6] 0] 0] oa. parcurgerea in preordine - RSD
* se prelucreaza radacina, subarborele stand, subarborele drept;
Exemplu:
Fie arborele cu radacina din figura alaturata.
n=7 - numérul de noduri
m=6 - numéarul de muchii
RSD: 1, 2, 3, 5, 4, 6, 7
b, parcurgerea in inordine —- SRD
* se prelucreaza subarborele stang, radacina, subarborele drept;
Exemplu:
Fie arborele cu radacina din figura alaturata
n=7 - numérul de noduri
m=6 - numéarul de muchii
SRD: 5, 3, 2, 4, 6, 1,7
c. parcurgerea in postordine — SDR
* se prelucreaza subarborele standg, radacina, subarborele drept;
Exemplu:
Fie arborele cu radacina din figura alaturata.
n=7 - numarul de noduri
m=6 - numéarul de muchii
SDR: 5, 3, 6, 4, 2, 7,1d. Reprezentare prin referinte ascendente
Legatura de tip parinte nod terminal
—se utilizeaza doi vectori cu n-1 componente, definiti astfel:
t [i] = nodul terminal cu valoarea cea mai mica
ptli]=_ parintele nodului terminal + [i]
Construirea vectorilor:
Pasul 1: Pentru fiecare indice i de la 1 la n-1 executa:
Pasul 2: se cauta nodul terminal cu eticheta cea mai
mica Pasul 3: se atribuie aceasta eticheta lui t [i]
Pasul 4: se atribuie lui pt [i] eticheta nodului parinte al nodului terminal
t[il Pasul 5: se elimina din arbore nodul terminal t [i]
Exemplu
Fie arborele cu radacina din figura ° oN
aléturaté. n=7 - numérul de noduri 7] 7
m=6 - numarul de muchii ,00, o.
T
Legatura de tip parinte nod terminal: ,0
et] 4] 3] 5] 6} 2] 4
pe} 3] 2] 2| 2] 1] 7
a. arbore binar complet
Definitie
Un arbore binar cu proprietatea ca toate nodurile terminale sunt pe acelasi nivel, se
numeste arbore binar complet.
* un arbore binar complet are un numar impar de noduri;
Exemplu
Fie arborele cu radacina din figura
alaturaté. n=7 - numarul_de noduri
m=6 - numarul de muchiiReprezentarea secventiala a arborelului binar complet
Se numeroteaza nodurile unui arbore binar complet incepand cu 1 de la radacina si se
continua pe niveluri, de la stnga la dreapta.
Tinand cont de aceasta numerotare, se observa ca intre nodurile arborelui exista
urmatoarele relatii implicite:
x
tata(x)= {2 ,daci x>1
nu existé daci x=1
fin sting(x)= { 2x, daci 2x n
fiu drept(x)= {2x +1, daci 2x+1 n
Datorita existentei acestor relatii, pentru a reprezenta un arbore binar complet este suficient
‘sa se retina intr-un vector informatiile asociate nodurilor.
Aceasta reprezentare, denumita secventiald, este optima din punct de vedere al complexitatii
spatiu
b. arbore binar de cautare
Definitie
Se numeste arbore binar de cautare un arbore binar care are proprietatea ca, pentru
fiecare nod, cheia din succesorul stang este mai mic& decat cheia din nod, iar cheia din
succesorul drept este mai mare decat cheia din nod.
* se numeste cheia unui nod campul de informatie utilté a nodului care poate fi folosit
pentru a identifica in mod unic nodurile arborelui;
+ Intr-un arbore binar de cdutare nu existé doua noduri cu aceeasi valoare a cheii;
Exemplu:
Fie arborele cu radacina din figura
alaturata. n=7 - numarul de noduri
m=6 - numarul de muchii
b
_—_
of \o0/
2 Orsc. Heap-uri
Definitie
Se numeste Heap sau ansamblu Heap un arbore binar care indeplineste urmatoarele
conditii:
1. este un arbore aporape complet;
2. in orice pereche de noduri tata-fiu cheile sunt intr-o relatie de ordine prestabilita.
ansamblul Heap se numeste gi arbore de selectie sau arbore partial ordonat;
un ansamblu Heap maxim este un ansamblu Heap tn care cheia parintelui este mai mare
sau egala cu cheia fiului;
un ansamblu Heap maxim este un ansamblu Heap in care cheia parintelui este mai mica
sau egal cu cheia fiului;
Intr-un ansamblu Heap pot exista chei cu aceeasi valoare;
Exemplu
Fie arborele cu radacina din figura alaturata
n=7 - numarul de noduti xv
m=6 - numarul de muchii
Reprezentarea secventiala a ansamblului Heap:
+ varfurile sunt numerotate in ordinea nivelelor iar, pe fiecare nivel numerotarea se face de
la stnga la dreapta
* informatie relative la arbore se deduc in urmeétoarele moduri
{1/2}, dacé 122
tatafé] = +
lau existd, dacd i= 1
[7*2, dact i*
sild=1
lau evista, dacé i*2>
lit 241, daca i* 241
awd=s
(me existd, dacé i*2>n
Exemplu
Fie arborele cu radacina din figura
alaturataé. n=7 - numarul de noduri
m=6 - numéarul de muchii
1
1
&X °
sO, 50 7S7. Arbore partial
Definitie
Se numeste arbore partial al unui graf G un graf partial al unui graf G care este arbore.
Teorema
Un graf G contine un arbore partial daca si numai daca este un graf conex
Exemplu
Fie graful G= (x, 0)
n=7 —numarul de noduri
m=11 —numarul de muchii
8. Arbore pai
Definitie
Se numeste graf partial de cost minim al unui graf G conex, cu functia de cost o, un graf
partial conex H care are costul minim.
I. de cost
Teorema
Graful partial de cost minim al unui graf conex G, cu functia de cost c, este un arbore.
Definitie
Aiborele care este un graf partial de cost minim al grafului conex G, cu functja de cost c,
se numeste arbore partial de cost minim.
Observatie: costul grafului este dat de suma costurilor.
Exemplu
; : :
>
Fie graful 6=(x, 0)
n=7 —numarul de noduri
m=11 —numarul de muchii
2 +, 5