Sunteți pe pagina 1din 17

Algoritmi și structuri de date – curs 9

- Informatică Economică, an II –

Prelucrari pe grafuri

Cristian Bologa

1
Cuprins
Reprezentari ale grafurilor

2
Reprezentări – liste de adiacență
Graf: V – multimea nodurilor, E – multimea arcelor
Pentru grafuri cu densitate mică : liste de adiacență
Pentru grafuri dense: matrice de adiacență

Liste de adiacență:
Reprezintă un sir Adj de |V| liste, cate o listă pentru fiecare nod din graf
Pentru fiecare , conține toate nodurile v din graf astfel incat există un arc
Notatia pentru a ne referi la lista de adiacență a nodului u
Dacă G graf orientat, atunci un arc (u,v) este reprezentat prin
Dacă G graf neorientat, atunci u apare in Adj[v] și v apare in Adj[u]
Spațiul de memorie necesar:
Dacă graful este ponderat cu ponderile , atunci ponderea w(u,v) se salvează cu arcul v
in lista de adiacență a lui u
Dezavantajul listelor de adiacență: nu permit o cale rapidă de a determina dacă un
anume arc (u,v) se alfă in graf

3
Reprezentări – matrice de adiacență
Presupunem că nodurile sunt numerotate cu 1, 2, ..., |V|
Folosim o matrice de dimensiune , astfel încât
Matricea de adiacență necesită spațiu de memorie , indiferent de numărul de noduri
Pentru un graf neorientat, matricea este simetrică:
Dacă graful este ponderat, atunci in matrice se salvează ponderile w(u,v)

Notații:
Pentru a nota un atribut d al unui nod, folosim notatia v.d
Pentru a nota un atribut f a unui arc, folosim notatia (u,v).f

4
5
Parcurgerea in latime (breadth-first)
Dacă se dă ca și start un nod s din graf, parcurgerea in latime explorează in mod
sistematic arcele din G pentru a descoperi fiecare nod care poate fi identificat pornind
de la s
Calculează distanța de la s la fiecare nod din graf care este conectat la s
Algoritmul explorează frontiera dintre nodurile descoperite si cele nedescoperite în
lațime, adică descoperă toate nodurile la distanță k, apoi cele la distanță k+1, etc.

Se presupune ca initial toate nodurile din graf sunt colorate alb (nedescoperite).
Dacă și u este nod negru, atunci v va fi sau negru sau gri: toate nodurile adiacente
unui nod negru au fost descoperite
Nodurile gri pot avea noduri albe adiacente: acestea reprezintă frontiera dintre
nodurile descoperite sau nu
Parcurgerea in latime calculează un arbore de parcurgere in latime cu radacina in s
De fiecare data cand se descoperă un nod v alb la scanarea listei de adiacență a
nodului u, arcul (u,v) se salvează in arborele de parcurgere

6
Parcurgere in latime

7
Parcurgere in latime

8
Calea cea mai scurtă

9
Parcurgerea in adancime
Presupune o căutare in graf cat de adânc posibil
Se parcurge pe arcele nodului cel mai recent descoperit
Dacă toate arcele unui nod v au fost explorate, atunci algoritmul face back-tracking la
următorul nod care trebuie explorat după v

Folosim aceasi convenție de colorare: WHITE, GRAY si BLACK


Pentru fiecare nod folosim 2 stampile de timp:
 v.d momentul in care nodul a fost descoperit (cand este marcat GRAY)
 v.f momentul in care parcurgerea termină lista de adiacență a lui v (cand nodul este marcat
BLACK)

10
Parcurgerea in adancime

11
Parcurgerea in adancime

12
Parcurgerea in adancime
Dacă notăm cu “(u” momentul descoperirii unui nod u si cu “u)” momentul in
care nodul u devine BLACK, atunci DFS ne produce o expresie bine-formată:
parantezele se inchid corespunzător

Dacă intervalele [u.d,u.f] si [v.d, v.f] sunt disjuncte, atunci nici unul dintre u sau
v nu este descendentul celuilalt in arborele de parcurgere

Dacă [u.d, u.f] este inclus total în [v.d, v.f], atunci u este un descendent a lui v
in arborele de parcurgere

13
Sortare topologică
O sortare topologică a unui “direct acyclic graph” G=(V,E) este o ordonare a nodurilor
din G astfel încât dacă G conține un arc (u,v) atunci u apare inaintea lui v in sirul
sortat.
Dacă graful contine cicluri, atunci sortarea topologică nu este posibilă

14
TOPOLOGICAL-SORT(G)
1. Apelează DFS(G) pentru a calcula v.f pentru fiecare nod v
2. Pe măsură ce fiecare nod este terminat de parcurs, inserăm acest nod in varful
unei liste inlănțuite
3. Return lista inlănțuită

15
Componente tare conexe
Problemă: descompunerea
unui graf orientat in
componentele tare conexe

Pentru un graf orientat


G=(V,E), o componentă tare
conexă este un set maximal
de noduri astfel incat pentru
orice pereche de noduri u si v
din C există o cale de la u la
v si de la v la u

16
Componente tare conexe

17

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

  • Atestat Grafuri Orientate
    Atestat Grafuri Orientate
    Document34 pagini
    Atestat Grafuri Orientate
    Mihai Petcu
    0% (1)
  • Lectia 1. Grafuri - Parcurgeri.Conexitate
    Lectia 1. Grafuri - Parcurgeri.Conexitate
    Document16 pagini
    Lectia 1. Grafuri - Parcurgeri.Conexitate
    Nicu Vlad Laurentiu
    100% (1)
  • Teoria Grafurilor
    Teoria Grafurilor
    Document43 pagini
    Teoria Grafurilor
    Mircescu Alexandru
    Încă nu există evaluări
  • Algoritmica Grafurilor
    Algoritmica Grafurilor
    Document129 pagini
    Algoritmica Grafurilor
    Nova Hersha
    Încă nu există evaluări
  • WWW - Referat.ro Grafuri Neorientate - Doc98492
    WWW - Referat.ro Grafuri Neorientate - Doc98492
    Document6 pagini
    WWW - Referat.ro Grafuri Neorientate - Doc98492
    Jonathan Adams
    Încă nu există evaluări
  • Teme Algorimtica Grafurilor
    Teme Algorimtica Grafurilor
    Document222 pagini
    Teme Algorimtica Grafurilor
    Rianacorduneanu
    Încă nu există evaluări
  • Teoria Grafurilor
    Teoria Grafurilor
    Document40 pagini
    Teoria Grafurilor
    Blejan Denis
    Încă nu există evaluări
  • Teoria Grafurilor
    Teoria Grafurilor
    Document7 pagini
    Teoria Grafurilor
    Oana Tivadar
    Încă nu există evaluări
  • Curs10 Grafuri
    Curs10 Grafuri
    Document50 pagini
    Curs10 Grafuri
    Kevin Barnes
    Încă nu există evaluări
  • Rezumat Grafuri Neorientate
    Rezumat Grafuri Neorientate
    Document7 pagini
    Rezumat Grafuri Neorientate
    Andrei Pelin
    Încă nu există evaluări
  • Atestat Model
    Atestat Model
    Document24 pagini
    Atestat Model
    Brooke Hicks
    Încă nu există evaluări
  • BCO Curs 2
    BCO Curs 2
    Document9 pagini
    BCO Curs 2
    Bogdan Valentin
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document13 pagini
    Grafuri Orientate
    Andrei Andrei
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document7 pagini
    Grafuri Orientate
    Anomally Mega
    Încă nu există evaluări
  • Teorie Grafuri Orientate Final
    Teorie Grafuri Orientate Final
    Document8 pagini
    Teorie Grafuri Orientate Final
    Bucătari Europeni XB
    Încă nu există evaluări
  • Graf Uri
    Graf Uri
    Document40 pagini
    Graf Uri
    AlexandraRosca
    Încă nu există evaluări
  • Laborator 2 AG
    Laborator 2 AG
    Document5 pagini
    Laborator 2 AG
    adinaise
    Încă nu există evaluări
  • Atestat Adriana12a
    Atestat Adriana12a
    Document21 pagini
    Atestat Adriana12a
    Mihi pihi
    Încă nu există evaluări
  • Algoritmica
    Algoritmica
    Document3 pagini
    Algoritmica
    masidana
    100% (1)
  • Grafuri Orientate Def, Teoreme, Cod
    Grafuri Orientate Def, Teoreme, Cod
    Document12 pagini
    Grafuri Orientate Def, Teoreme, Cod
    andrews998
    Încă nu există evaluări
  • Grafuri. Parcurgerea Grafurilor Sortarea Topologica
    Grafuri. Parcurgerea Grafurilor Sortarea Topologica
    Document8 pagini
    Grafuri. Parcurgerea Grafurilor Sortarea Topologica
    Sh Andreea
    Încă nu există evaluări
  • Curs10 11
    Curs10 11
    Document25 pagini
    Curs10 11
    Danila Alexandru
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document10 pagini
    Grafuri Orientate
    Adrian Cojocari
    Încă nu există evaluări
  • Curs1.ppt
    Curs1.ppt
    Document95 pagini
    Curs1.ppt
    bubu
    Încă nu există evaluări
  • Grafuri Euleriene Si Hamiltoniene
    Grafuri Euleriene Si Hamiltoniene
    Document21 pagini
    Grafuri Euleriene Si Hamiltoniene
    owaseraph
    Încă nu există evaluări
  • A 1
    A 1
    Document8 pagini
    A 1
    1a_dea
    Încă nu există evaluări
  • Despre Algoritmul BFS
    Despre Algoritmul BFS
    Document8 pagini
    Despre Algoritmul BFS
    Andrei Varvaruc
    Încă nu există evaluări
  • Grafuri Bipartrite
    Grafuri Bipartrite
    Document9 pagini
    Grafuri Bipartrite
    Mariana POP
    Încă nu există evaluări
  • Grafuri T1 2021
    Grafuri T1 2021
    Document3 pagini
    Grafuri T1 2021
    Rareș-Andrei Gavriluță
    Încă nu există evaluări
  • Teorie
    Teorie
    Document7 pagini
    Teorie
    Andrei Damian
    Încă nu există evaluări
  • Tema Graf-1
    Tema Graf-1
    Document23 pagini
    Tema Graf-1
    cristian1972
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document15 pagini
    Grafuri Orientate
    cryss.aki
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document20 pagini
    Grafuri Orientate
    Emil Hampău
    Încă nu există evaluări
  • Drumuri În Grafuri Orientate
    Drumuri În Grafuri Orientate
    Document30 pagini
    Drumuri În Grafuri Orientate
    Andrey Andy
    Încă nu există evaluări
  • Cursul10 ATP2022
    Cursul10 ATP2022
    Document38 pagini
    Cursul10 ATP2022
    Robert Adrian Pietroiu
    Încă nu există evaluări
  • Algoritmica Grafurilor
    Algoritmica Grafurilor
    Document73 pagini
    Algoritmica Grafurilor
    Constantin-Flavius Nistor
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document10 pagini
    Grafuri Orientate
    GodPowder
    Încă nu există evaluări
  • A2 PDF
    A2 PDF
    Document12 pagini
    A2 PDF
    anon_554298164
    Încă nu există evaluări
  • Cap 3 49-116
    Cap 3 49-116
    Document68 pagini
    Cap 3 49-116
    Catalina Ionela
    Încă nu există evaluări
  • Curs Al - Grafuri1
    Curs Al - Grafuri1
    Document15 pagini
    Curs Al - Grafuri1
    andy_007_io
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document25 pagini
    Grafuri Orientate
    Daniela Chirca
    Încă nu există evaluări
  • Grafuri Orientate
    Grafuri Orientate
    Document8 pagini
    Grafuri Orientate
    Tavi Matasaru
    Încă nu există evaluări
  • SDA
    SDA
    Document4 pagini
    SDA
    Andreea Maria B
    Încă nu există evaluări
  • Grafuri
    Grafuri
    Document10 pagini
    Grafuri
    Alina Costache
    Încă nu există evaluări
  • Grafuri Quiz 3
    Grafuri Quiz 3
    Document88 pagini
    Grafuri Quiz 3
    Aylyn Gabriela
    Încă nu există evaluări
  • Probleme Rezolvate
    Probleme Rezolvate
    Document96 pagini
    Probleme Rezolvate
    Ana-Maria Ungurean
    Încă nu există evaluări
  • Rezumat Curs3
    Rezumat Curs3
    Document3 pagini
    Rezumat Curs3
    Camelia Văduva
    Încă nu există evaluări
  • GRAFURI
    GRAFURI
    Document5 pagini
    GRAFURI
    Luchian Rodica
    Încă nu există evaluări
  • Arborele Componentelor Biconexe Si Al Nodurilor Critice
    Arborele Componentelor Biconexe Si Al Nodurilor Critice
    Document12 pagini
    Arborele Componentelor Biconexe Si Al Nodurilor Critice
    joeynome
    Încă nu există evaluări
  • Graf Uri
    Graf Uri
    Document4 pagini
    Graf Uri
    Dumitru Vlasceanu Ionatan Elisei
    Încă nu există evaluări
  • 02 - C - Metode de Cautare
    02 - C - Metode de Cautare
    Document11 pagini
    02 - C - Metode de Cautare
    MateiMaria-Mihaela
    Încă nu există evaluări
  • STD C2
    STD C2
    Document63 pagini
    STD C2
    LauraAndreea
    Încă nu există evaluări
  • STD C3
    STD C3
    Document69 pagini
    STD C3
    Danila Alexandru
    Încă nu există evaluări
  • STD C1
    STD C1
    Document39 pagini
    STD C1
    LauraAndreea
    Încă nu există evaluări
  • Curs10 11
    Curs10 11
    Document25 pagini
    Curs10 11
    Danila Alexandru
    Încă nu există evaluări
  • Curs 1
    Curs 1
    Document22 pagini
    Curs 1
    Cristina Ungurean
    Încă nu există evaluări
  • Curs 3
    Curs 3
    Document20 pagini
    Curs 3
    Danila Alexandru
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document11 pagini
    Curs 2
    Danila Alexandru
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document24 pagini
    Curs 5
    Danila Alexandru
    Încă nu există evaluări
  • Curs 12
    Curs 12
    Document16 pagini
    Curs 12
    Danila Alexandru
    Încă nu există evaluări