Sunteți pe pagina 1din 4

69

EXERCITII

1.S\ se descrie un algoritm care sa genereze toate grafurile cu mul]imea de virfuri


{1,2 ,K , n} .

2.Interpreta]i combinatoriu elementele puterilor succesive Ak , k ∈ N ∗ , unde A este


matricea de adiacen]\ a grafului G.

3. D = ( d1 , d 2 ,K , d n ) ∈ Z+n se numeste secven]\ grafic\ dac\ exist\ G un graf cu n virfuri


{1,2 ,K , n}astfel incit dG (i ) = di ∀i = 1, n . S\ se descrie un algoritm care s\ decid\
pentru un D dat dac\ este sau nu secven]\ grafic\ .

4. Demonstra]i c\ un graf G este conex dac\ [i numai dac\ oricare ar fi o parti]ie


V ( G ) = (V1 ,V2 ) ,
exist\ vi ∈V (i = 1,2)i astfel `nc@t v1v2 ∈ E ( G ) .

5. Demonstra]i c\ un graf conex G este complet dac\ [i numai dac\ mul]imea vecinilor
oric\rui v@rf de grad maxim `n G este clic\.

6. Demonstra]i c\ oricare ar fi G un graf, m\car unul din grafurile G sau G este conex.

7. Demonstra]i c\ `n orice graf conex G cu cel pu]in dou\ v@rfuri, exist\ m\car dou\
v@rfuri care nu-s puncte de articula]ie.

( )
8. Demonstra]i c\ oricare ar fi G un graf autocomplementar G ≅ G : este conex,
G ≡ 0( mod 4) sau G ≡ 1( mod 4) ; are m\car un subgraf izomorf cu P4 .

9. Se d\ un graf G [i p , q ∈ N ∗ astfel `nc@t G = p + q . Descrie]i un algoritm care s\


construiasc\ o parti]ie V ( G ) = ( P , Q) astfel `nc@t P = p , Q = q [i
∆ ([ P] G ) + ∆ ([ Q] G ) ≤ ∆( G ) .

10. Fie G = ({1,...., n}, E ( G )) un graf.


Definim G ⊕ G graful cu mul]imea v@rfurilor {1,2 ,..., n} ∪ {1' ,2 ' ,..., n '} [i cu
mul]imea muchiilor E (G ⊕ G ) = E (G ) ∪ {i ' j ' ∀ij ∈ E (G )} ∪ {ii ' ∀i ∈V (G )} .
Se consider\ pentru n ∈ N grafurile Hn definite recursiv astfel:
H0 = K1
Hn = Hn −1 ⊕ Hn −1 n > 0
70

a) Desenati H3 .
b) Determina]i ordinul [i dimensiunea lui Hn
c) Dat n s\ se construiasc\ matricea de adiacen]\ a lui Hn .
d) Demonstra]i c\ Hn este bipartit [i s\ se construiasc\ o biparti]ie a sa.
e) S\ se determine num\rul de stabilitate al lui Hn .
f) Demonstra]i algoritmic c\ Hn este hamiltonian.

11. Fie T un arbore reprezentat cu ajutorul listelor de adiacen]\.


a) S\ se modifice reprezentarea astfel incat:
- fiecare lista de adiacen]\ s\ fie circular\ (ultimul element puncteaza la
primul).
-fiecare element al listei de adiacent\ A(v) con]ine: vecinul curent (u); un
pointer next c\tre urmatorul element al listei,; un pointer invers c\tre elementul din lista
de adiacen]\ a lui u care il con]ine pe v; un pointer succesor care este neini]ializat.
b) Pentru orice element din listele de adiacenta, se pune succesor ← invers ↑ .next.
Se observ\ c\ dac\ elementul reprezint\ arcul vu, atunci succesor puncteaz\ la un
arc uw. Demonstrati ca in acest fel (cu ajutorul pointerului succesor) se ob]ine o
organizare de tip list circular\ a elementelor din listele de adiacen]\.

12. Fie G un graf reprezentat cu ajutorul listelor de adiacenta, cu multimea virfurilor


{1,2 ,K , n} . Se cere sa se ordoneze V (G ) = {v1 , v2 ,K , vn } astfel incat:
∀i ∈ [ 2.. n] N G ( vi ) I{v1 ,K vi −1} = max N G ( v j ) I{v1 ,K , vi −1} .
j≥i

Aceasta ordonare se numeste ordinea max-adiacenta. Complexitatea algoritmului:


O(n+m).

13. S\ se testeze dac\ un graf dat este bipartit utilizind parcurgerea bfs.

14. Dat D un digraf s\ se decid\ in O(n+m) dac\ are un circuit folosind parcurgerea dfs.

15. Fie G = ({1,...., n}, E ( G )) un graf cu d G (i ) = di ∀i d1 ≤ d2 ≤LL≤ dn .


Demonstra]i c\ dac\ d k ≥ k ∀k ≤ n − dn − 1 , atunci G este conex.

16. In graful G = ({1,...., n}, E ( G )) notam δ (G ) = min{d G (i ); i = 1, n}


Descrie]i un algoritm de complexitate O( nδ ( G )) pentru aflarea unui v@rf de
grad minim `ntr-un graf G dat cu ajutorul listelor de adiacen]\.

17. Fie G = ({1,...., n}, E ( G )) un graf [i a: E (G ) → R . Dac\ s [i t sunt dou\ v@rfuri


ale lui G, se define[te locul `ingust al drumului D de la s la t ca fiind
b ( D) = min{a ( e) e ∈ E ( D)} .
71

Descrie]i un algoritm care s\ determine drumul de la s la t cu locul `ngust maxim.

18. Desrcieti un algoritm care sa determine pentru un graf (dat cu ajutorul listelor
de adiacenta) componenta conexa cu numar maxim de virfuri.

19. Fie G = ({1,...., n}, E ( G )) un digraf complet f\r\ perechi de arce simetrice
(turneu). S\ se construiasc\ un drum hamiltonian `n G.

20. a) Fie G un graf bipartit k-regulat ( k ≥ 1 ). Demonstra]i c\ G are un cuplaj


M astfel 1nc@t fiecare v@rf al grafului este incident cu o muchie din cuplaj.
b) Demonstra]i c\ pentru orice graf bipartit H cu gradul maxim k, se poate
construi un graf bipartit G k-regulat astfel `nc@t H este subgraf indus al lui
G.
c) Deduce]i c\ `n orice graf bipartit G exist\ un cuplaj M cu proprietatea c\
∆ (G − M ) = ∆ (G ) − 1.

21. Fie D un digraf [i a:: E ( D) → R , b: E ( D) → R+ ∗ . S\ se determine C∗ circuit


a ( C∗ )  a (C) 
`n D astfel `nc@t ∗ = min  C circuit in D .
b(C )  b(C) 
22. Fie T un arbore cu n ≥ 2 v@rfuri {1,2 ,....,n} . Pentru i = 1, n − 1 se execut\ : se
[terge v@rful pendant cel mai mic [i se pune ai = vecinul acestui v@rf
pendant. Se ob]ine vectorul a ( T ) = a1 , a2 ,..... , an −1 ( an −1 = n ) care se nume[te
codul Prüfer asociat lui T. Implementa]i algoritmul de ob]inere a lui a ( T )
pentru un T dat.

23. Fie G un graf conex [i TG familia arborilor s\i par]iali. Se consider\ graful
H = ( TG , E ( H )) unde T1T2 ∈ E ( H ) ⇔ E ( T1 ) ∆E ( T2 ) = 2 .
Demonstra]i c\ H este conex.

24. Ar\ta]i c\ dac\ T este un arbore, atunci prin orice v@rf pendant trece o
mul]ime stabil\ de cardinal maxim a lui T. Deduce]i un algoritm pentru
determinarea lui α ( T ) .

25. Ar\ta]i c\ `n orice digraf G, exist\ o mul]ime S de v@rfuri astfel `nc@t S este
mul]ime stabil\ `n graful suport asociat [i orice v@rf dinafara lui S este accesibil din
S pe un drum de lungime cel mult 2 (S se nume[te seminucleu). Dac\ drmul
anterior se cerea s\ fie de lungime 1 se ob]inea ceea ce se nume[te nucleu.
Construi]i un digraf care nu are nucleu.

26. Fie G=(V,E) un graf cu V = n [i E = m . Demonstra]i c\ exist\ o 2-parti]ie a


72

lui V astfel `nc@t num\rul muchiilor cu extremit\]i `n clase diferite ale parti]iei este
m\car m 2 .
27. Care este num\rul total de sec]iuni ale unei re]ele al c\rei digraf suport are
n+2 v@rfuri ?

28. Un arc al unei re]ele R=(G,s,t,c) se nume[te vital dac\ `ndep\rtarea sa din G
provoac\ cea mai mare sc\dere a valorii fluxului maxim de la s la t .
Descrie]i un algoritm polinomial de determinare a unui arc vital.

29. Demonstra]i c\ dac\ G este bipartit, atunci X (G ) = ω (G ) .

30. Fie G un graf conex cu V = n gradul maxim ∆ ≥ 3 , [i diametrul d .


( ∆ − 1) d − 1
Demonstra]i c\ n ≤ 1+ ∆ ⋅ .
∆−2

31. Ar\ta]i c\ `n orice graf exist\ m\car dou\ v@rfuri de acela[i grad.

32. Fie G un graf de ordin n astfel inc@t pentru v@rfurile neadiacente v [i w ale
sale are loc inegalitatea d G (v ) + d G ( w) ≥ n . Demonstra]i c\ G este hamiltonian
dac\ [i numai dac\ G+vw este hamiltonian. Fie G un graf cu proprietatea c\
pentru orice dou\ v@rfuri neadiacente este satisf\cut\ inegalitatea de mai
sus. Demonstra]i c\ G este hamiltonian [i construi]i un circuit hamiltonian `n
G `n timp polinomial.

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