Sunteți pe pagina 1din 4

FMI Algoritmica grafurilor, anul 1, Laborator 2

Secvene de grade

Probleme

Se d o secven s0 = { d1 d2 ... dn } de numere naturale. S se verifice dac


exist un graf G cu s(G) = s0 i, n caz afirmativ, s se afieze muchiile grafului G.
Se vor considera pe rnd cazurile n care G este:
1) graf neorientat O(n) (1p)
2) graf simplu O(n2)
(3p)
3) arbore O(n)
(3p)
4) graf simplu conex
(3p)
http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=885
Graf neorientat

Teorem

Un multiset {d1 d2 ... dn }, n 1 , dn 0 este multisetul gradelor unui graf neorientat


suma d1 + d2 + ... + dn este par
Graf simplu

Teorema Havel i Hakimi

Un multiset {d1 d2 ... dn }, n 2 , dn 0 i d1 n-1 este multisetul gradelor unui graf


simplu (cu n vrfuri) multisetul {d2-1, d3-1, ..., dd 1 - 1, d d 2 , d d 3 , , dn } este
1

multisetul gradelor unui graf simplu (cu n-1 vrfuri).

Teorema Havel i Hakimi - Generalizare

Fie s0={d1 d2 ... dn }, unde n 2 , dn 0 i d1 n-1 un multiset i i {1,,n} fixat.


s0 este multisetul gradelor unui graf simplu multisetul s'0 este grafic, unde s'0 se obine
din s0 prin urmtoarele operaii: eliminm elementul di i apoi scdem o unitate din cele
mai mari di elemente rmase

Condiia Erds- Gallai

Exemple
S se verifice dac urmtoarele secvene pot fi secvenele gradelor unui graf simplu.
1) {5, 1, 2, 3, 3, 2, 2, 2}

FMI Algoritmica grafurilor, anul 1, Laborator 2

Presupunem vrfurile numerotate de la 1 la n i asociem fiecrui grad din secven vrful


corespunztor, sub forma grad_vrf / numr_vrf.
Iniial avem
5/1, 1/2, 2/3, 3/4, 3/5, 2/6, 2/7, 2/8
Reordonm secvena descresctor (dup gradele vrfurilor), pentru a fi mai uor s unim
vrful de grad maxim cu urmtoarele vrfuri cu gradele cele mai mari
5/1, 3/4, 3/5, 2/3, 2/6, 2/7, 2/8, 1/2
Unim vrful 1 (vrful curent, primul din secven) cu urmtoarele 5 vrfuri din secven
i micorm cu 1 gradele acestora, adic adugm la graf muchiile (1, 4), (1, 5), (1, 3),
(1, 6) i (1, 7)
Obinem secvena pentru 7 vrfuri
0/1, 2/4, 2/5, 1/3, 1/6, 1/7, 2/8, 1/2
Reordonm secvena descresctor
0/1, 2/4, 2/5, 2/8, 1/3, 1/6, 1/7, 1/2
Unim vrful cu numrul 4 (primul din secvena rmas, de pe poziia 2 dac pstrm n
secven i vrful 1 pe care l-am analizat la pasul anterior) cu urmtoarele 2 vrfuri din
secven i micorm cu 1 gradele acestora, adic adugm la graf muchiile (4, 5) i (4,8)
Obinem secvena pentru 6 vrfuri
0/1, 0/4, 1/5, 1/8, 1/3, 1/6, 1/7, 1/2
Reordonm secvena pentru 6 vrfuri descresctor
0/1, 0/4, 1/5, 1/8, 1/3, 1/6, 1/7, 1/2
Unim vrful cu numrul 5 cu urmtorul vrf din secven i micorm cu 1 gradul
acestuia, adic adugm la graf muchia (5, 8)
Obinem secvena pentru 5 vrfuri (fr a mai evidenia vrfurile deja analizate)
0/8, 1/3, 1/6, 1/7, 1/2
Reordonm secvena descresctor
1/3, 1/6, 1/7, 1/2, 0/8
Unim vrful cu numrul 3 cu urmtorul vrf din secven i micorm cu 1 gradul
acestuia, adic adugm la graf muchia (3, 6)
Obinem secvena pentru 4 vrfuri
0/6, 1/7, 1/2, 0/8

FMI Algoritmica grafurilor, anul 1, Laborator 2

Reordonm secvena descresctor


1/7, 1/2, 0/6, 0/8
Unim vrful cu numrul 7 cu urmtorul vrf din secven i micorm cu 1 gradul
acestuia, adic adugm la graf muchia (7, 2)
Obinem secvena pentru 3 vrfuri
0/2, 0/6, 0/8
Reordonm secvena descresctor
0/2, 0/6, 0/8
Vrful curent are gradul 0, deci i restul gradelor vor fi 0 (secvena este descresctoare);
algoritmul se ncheie cu succes.
Am obinut graful cu muchiile
(1, 4), (1, 5), (1, 3), (1, 6), (1, 7), (4, 5), (4, 8), (5, 8), (3, 6), (7, 2)
1
3

7
5
6

4
8

2) {3, 3, 1, 1}
Asociem fiecrui grad numrul vrfului corespunztor
3/1, 3/2, 1/3, 1/4
Secvena este deja ordonat descresctor. Unim vrful cu numrul 1 cu urmtoarele 2
vrfuri din secven i micorm cu 1 gradele acestora, adic adugm la graf muchiile
(1, 2) i (1, 3)
Obinem secvena pentru 3 vrfuri
2/2, 0/3, 0/4
Reordonm secvena descresctor
2/2, 0/3, 0/4
Ar trebui s unim vrful cu numrul 2 cu urmtoarele 2 vrfuri din secven (mai exact cu
vrfurile 3 i 4) i s micorm cu 1 gradele acestora. Dar astfel obinem grade negative,
deci secvena iniial nu poate fi secvena gradelor unui graf simplu.
3) {2, 2, 1}
Suma numerelor din secven este impar, deci secvena nu poate fi secvena gradelor
unui graf simplu.

FMI Algoritmica grafurilor, anul 1, Laborator 2

4) {5, 2, 1}
Secvena nu poate fi secvena gradelor unui graf simplu deoarece primul vrf are gradul 5
i nu exist alte 5 vrfuri dup el n secven cu care s-l unim (trebuie d1 n-1).

Arbore

Teorem

Un multiset {d1 d2 ... dn }, n 2 , dn 1 i d1 n-1 este multisetul gradelor unui


arbore d1 + d2 + ... + dn = 2(n 1).

Graf simplu conex


Observaii:
1. Un graf simplu conex cu n vrfuri are cel puin n 1 muchii (are un arbore parial),
deci suma gradelor sale este minim 2(n 1).
2. Fie G un graf simplu cu s(G) = {d1, d2,...,dn }. Dac d1+ d2 +... + dn 2(n 1), atunci
exist un graf simplu conex G' cu s(G') = s(G)

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