Definiții
Definiție. Se numeşte graf orientat o pereche ordonată de mulțimi notată G=(V, U), unde:
V este o mulțime finită şi nevidă ale cărei elemente se numesc noduri sau vârfuri;
U este o mulțime de perechi ordonate de elemente distincte din V ale cărei elemente se numesc
arce.
Exemplu:
V={1,2,3,4,5,6},U={(1,6),(2,1),(2,4),(3,2),(4,2),(5,4),(6,1),
(6,4)}
Noțiuni
extremități ale unui arc: pentru arcul u=(x,y), se numesc extremități ale sale nodurile x şi y;
o x se numeşte extremitate inițială;
o y se numeşte extremitate finală;
o y se numește succesor al lui x;
o x se numește predecesor al lui y.
vârfuri adiacente: dacă într-un graf există arcul u=(x,y) (sau u=(y,x), sau amândouă), se
spune despre nodurile x şi y că sunt adiacente;
incidență:
o dacă u1 şi u2 sunt două arce ale aceluiaşi graf, se numesc incidente dacă au o
extremitate comună. Exemplu: u1=(x,y) şi u2=(y,z) sunt incidente;
o dacă u1=(x,y) este un arc într-un graf, se spune despre el şi nodul x, sau nodul y, că
sunt incidente.
Grade
Se numeşte grad exterior al nodului x, numărul arcelor de forma (x,y) (adică numărul arcelor
care ies din x), notat d+(x).
Se numeşte grad interior al nodului x, numărul arcelor de forma (y,x) (adică numărul arcelor
care intră în x), notat d-(x).
Exemplu: Pentru graful alăturat: d+(2)=2, d-(2)=3
Teoremă: Într-un graf orientat, suma gradelor exterioare a tuturor nodurilor este egală cu suma
gradelor interioare a tuturor nodurilor și cu numărul de arce.
∑ d+ ¿( x)=¿ ∑ d
−¿( x)=m
¿¿
¿
Un nod x se numește izolat dacă d+(x)=d-(x)=0 (are gradul interior și gradul exterior egal cu 0).
Fie G=(V,U) un graf orientat cu n noduri, în care nu există mai multe arce de la un nod la altul.
Matricea de adiacență a grafului este o matrice cu n linii și n coloane și elemente 0 sau 1, astfel:
0 0 0 0 0 1
1 0 0 1 0 0
0 1 0 0 0 0
0 1 0 0 0 0
0 0 0 1 0 0
1 1 0 1 0 0
Pentru reprezentarea în memorie vom folosi un tablou bidimensional ale cărui dimensiuni sunt în
concordanță cu numărul de noduri din graf.
int A[51][51];
Graf parțial, subgraf
Exemplu:
S-au eliminat arcele (1,6), (3,2), S-a eliminat nodul 6 și toate arcele incidente
(6,4) cu el.
Graf complet
Definiție. Fie G=(V, U) un graf orientat. Graful G se numește graf complet dacă oricare două
vârfuri distincte ale sale sunt adiacente.
Exemplu:
n*(n-1)/2
Teoreme: 1) Numărul de grafuri orientate complete cu n noduri este 3 . Pe cand la
cele neorientate se poate forma un singur graf complet și acesta are n*(n-1)/2 muchii.
2) graful orientat complet are minim n*(n-1)/2 arce (ca si la cel neorientat) si maxim n*(n-1)
arce.
Observație: Graful orientat complet cu număr minim de arce adică n*(n-1)/2 arce, poate să aibă
astfel dispuse arcele incât să nu formeze nici un circuit.
Drum
Definiție. Fie G=(V, U) un graf orientat. Se numește drum în graful G o succesiune de noduri,
notată D = (x1 , x2 ,..., xk), cu proprietatea că pentru orice 1≤i<k, (xi,xi+1) este arc în G
(are importanță orientarea arcelor).
Lungimea unui drum este egală cu numărul de arce din care este alcătuit.
Un drum se numește elementar dacă în el nu se repetă noduri. Un drum se numește simplu dacă
în el nu se repetă arce.
Teoremă: dacă un graf conține un drum între 2 vârfuri x și y, atunci conține și un drum
elementar între nodurile x și y.
Circuit
Definiție: Se numește circuit un drum simplu în care extremitatea inițială și finală sunt egale. Se
numește circuit elementar un circuit în care, cu excepția extremităților, nu se repetă noduri.
Lungimea unui circuit este reprezentată de numărul de arce din care acesta este alcătuit.
Exemple În graful alăturat:
Tare conexitate
Observatie: la grafurile neorientate vorbim de conexitate iar la cele orientate de tare conexitate.
Un graf orientat G=(V,E) este tare conex dacă pentru orice pereche de noduri distincte (x,y)
există cel puțin un drum de la x la y și cel puțin un drum de la y la x.
Pentru un graf orientat, se numește componentă tare conexă un subgraf tare conex maximal –
prin adăugarea a încă unui nod, subgraful obținut nu mai este tare conex.
Exemplu
Graful de mai sus nu este tare conex. El are trei componente tare conexe.
graful tare conex cu numărul cel mai mic de muchii posibil conține n muchii.
Este vorba de graful obținut din nodurile plasate unul după altul, ca fiind vârfurile
unui poligon și unite prin arce cu sensul de la unul la altul.
Numărul maxim de arce al unui graf orientat fără circuite este n*(n-1)/2.
Arcele pot fi astfel dispuse într-un graf complet cu n*(n-1)/2 astfel încât să nu se
formeze nici un circuit.
Pentru a determina componentele tare conexe folosim următorul algoritm, numit Plus-Minus:
pentru fiecare nod x al grafului care încă nu a fost plasat într-o componentă tare conexă:
o determinăm toate nodurile în care se poate ajunge din x, folosind graful G și le marcăm
într-un tablou cu plus;
o determinăm toate nodurile din care se poate ajunge în x și le marcăm într-un tablou cu
minus;
o nodurile marcate atât cu plus, cât și cu minus, împreună cu x formează o componentă
tare conexă;
Exemplu:
Fie graful de mai sus. Să determinăm componenta tare conexă din care face parte nodul 6:
Nodurile marcate de două ori, 5 7 8, împreună cu nodul inițial, 6, formează o componentă tare
conexă.
{
2 +5 , 6 , 7 , 8 ==> 2 alcatuieste singur o componenta tare conexa.
−1 , 3 , 4
Metoda 1- Vom aplica pentru cateva din noduri algoritmul + - si vedem astfel pentru care
nod este nevoie sa completam mai putine muchii pentru a obtine o singura component conexa.
1
2 1{+nimeni
−2 , 3 ,5
3
5
4
2{−nimeni
+1 , 3 ,5
Adaugand muchia (1, 2) rezolvam drumurile cerute: (3, ..2) (3,.. 4) (3,.. 5) si (1, …3). Iar
drumul (4, …3) il rezolvam cu arcul (4, 3).
3
4
2
Deci muchiile [1,4] și [4,2] trebuie adăugate în acest aranjament.
Dar aranjându-le sub forma de mai jos obținem același 2 rezultat ca și prin
metoda precedentă.
5
4
3
Observație
Dacă graful nu este tare conex, nu ser vor vizita toate vârfurile.