Documente Academic
Documente Profesional
Documente Cultură
Reprezentări
Ce este un graf
Care sunt elementele din care se formează graful și cum le putem combina
Cum putem reprezenta un graf pentru a-l transmite în program
Ce este un graf?
Între unele intersecții mișcarea este permisă într-un singur sens. În aceste cazuri direcția de mișcare
este indicată prin un vârf de săgeată asociat muchiei. Asemenea muchii direcționate se mai numesc
arce.
Dacă mișcarea este permisă în ambele sensuri pe o porțiune de drum, arcele se dublează, formând o
pereche orientată în direcții opuse.
Graful, în care sunt indicate direcțiile care determină relațiile dintre noduri se numește graf
orientat. Deplasarea pe muchiile orientate într-un asemenea graf este permisă doar în
direcția indicată de săgeată.
În continuare vom discuta despre noțiunile aferente unui graf, importante pentru cursul nostru!
Inițiere în Algoritmi Lecția 12 Grafuri. Noțiuni. Reprezentări
Care sunt elementele din care se formează graful și cum le putem combina?
O secvență de vârfuri v 1 , v 2 , ... v k se numește cale în graf, dacă între oricare două vârfuri v i , v i +1 din
secvență există o muchie. Calea se numește ciclu, dacă primul și ultimul vârf din secvență coincid. În
imagine secvența 1, 7, 2, 3, 4 formează o cale; secvența 2, 3, 4, 2 – un ciclu.
Graful se numește conex, dacă între oricare pereche de vârfuri ale lui există cel puțin o cale. O
submulțime a W a mulțimii vârfurilor V din graf, se numește componentă conexă, dacă a) între orice
două vârfuri din W există cel puțin o cale și b) nu există nici o muchie care să conecteze un vârf din W cu
un vârf din afara mulțimii W.
Graful se numește arbore, dacă este conex și nu conține cicluri.
Este foarte ușor să reprezinți un graf prin o imagine, schemă. Dar, acest mod de reprezentare nu
este pe înțelesul dispozitivelor digitale și, cu atât mai mult, pe înțelesul limbajelor de programare. Poți
transmite programului tău date numerice sau caracteriale, doar atât.
Deci, trebuie să găsim un mod de a reprezenta graful și proprietățile lui prin date numerice și
caracteriale.
Fiecare muchie în graf este descrisă de două vârfuri, pe care le conectează. Iar fiecare element al
unui tablou bidimensional este descris de doi indici. Ce-ar fi să folosim vârfurile grafului pe post de indici
a tabloului bidimensional care descrie un graf? Atunci elementul cu indicii [i][j] ar descrie muchia {i, j}!,
desigur , dacă aceasta există! Dar dacă nu? – atunci acest element va avea valoarea 0!.
Să încercăm o asemenea descriere
pentru graful din imagine.
Acum este foarte simplu să
reconstruin graful inițial după tabloul
bidimensional, astfel format:
Tabloul are dimensiunile 7 x 7. Prin
urmare gragul descris de tablou are 7
vârfuri. Prima linie a tabloului conține
elementele nenule în coloanele 5, 6, 7,
ceea ce înseamnă că vârful 1 este conectat
prin muchii cu vârfurile 5, 6, 7. Exact la fel determinăm conexiunile și pentru celelalte vârfuri.
Observă! Pentru un graf orientat, fiecare muchie este descrisă în tablou de două ori: dacă avem
muchia între vârfurile u și v, în tablou vor fi nenule și elementul cu indicii [u][v] și elementul cu indicii [v]
[u]. În graful orientat fiecare muchie direcționată este descrisă o singură dată: dacă avem muchia
direcționată de la u spre v, în tablou va fi diferit de 0 doar elementul [u][v].
Pentru un graf G cu n vârfuri tabloul bidimensional a[n][n] în care a[i][j] = 1 dacă în G există
muchia {i,j} și a[i][j] = 0 în caz contrar, se numește matrice de adiacență a grafului G.
În grafurile orientate a[i][j] = 1 dacă în G există muchia direcționată cu originea i și vârful j:
(i,j).
În grafurile cu ponderi a muchiilor a[i][j] = d(i,j) aici d(i,j) este ponderea muchiei {i,j}. La fel
pentru grafurile orientate.
Să încercăm un exercițiu invers – restabilirea grafului după conținutul matricei de adiacență care îl
descrie:
Inițiere în Algoritmi Lecția 12 Grafuri. Noțiuni. Reprezentări
Important!
Dacă graful este unul ponderat, fiecare element al listei va conține 3 numere și nu 2. Cel de
al treilea element va fi ponderea muchiei.
În grafurile orientate primul număr din perechea care descrie muchia direcționată reprezintă
originea iar cel de al doilea – vârful.
Dacă în graf există vârfuri izolate, acestea vor fi descrise cu ajutorul buclelor – muchiilor în
care vârful de început coincide cu vârful de sfârșit.
Cea mai mare valoare a indicelui vârfului este 8. Prin urmare graful va avea 8 vârfuri.
Începem reconstrucția:
Inițiere în Algoritmi Lecția 12 Grafuri. Noțiuni. Reprezentări
Exercițiu:
Scrie un program, care va citi matricea de adiacență a unui graf și va afișa lista lui de muchii! În
calitate de teste folosește exemplele din această lecție.