Modalitati de Parcurgere a Grafurilor (Parcurgerea in Latime Si Adancime)
-
Upload
corbu-cristian -
Category
Documents
-
view
14 -
download
1
description
Transcript of Modalitati de Parcurgere a Grafurilor (Parcurgerea in Latime Si Adancime)
Parcurgere (traversare) -Vizitarea varfurilor, o singura data, pornind de la un varf dat 0; -Se pot vizitat varfurile conectate cu 0 (exista drum de la la 0)
Ordinea de vizitare NU constitue un drum!
Parcurgerea in latime(Breadth First)
Fie G=(V,E) un graf.A-matricea de adiacen a grafului;C-o structur de tip coad,n care snt introduse vrfurile ce urmeaz a fi vizitate i procesatem-un vector cu n componente(iniializate cu 0),unde mi=1 sau mi=0
Algoritm:
se adaug 0 n coad i marcheaz 0=1 ct timp coada nu e vid :-se extrage un vrf din coad-se viziteaz (proceseaz) -pentru fiecare vecin nevizitat al lui :+se adaug k n coad i se marcheaz ([]=1) +opional, se proceseaz muchia i -
Parcurgerea in adancime
Parcurgeri n adncime sunt parcurgerile n preordine, inordine i postordine. n toate cele trei tipuri de parcurgere n adncime se viziteaz prima dat subarborele stng i apoi subarborele drept, iar diferena const n momentul n care se viziteaz rdcina. Funciile de parcurgere pot fi scrise recursiv sau iterativ, folosind o stiv.
Parcurgerea n preordine RSD se viziteaz mai nti rdcina , apoi se parcurge n preordine subarborele stng i subarborele drept.Parcurgerea n inordine SRD se parcurge mai nti n inordine suarborele stng , apoi rdcina , apoi se parcurge n inordine subarborele drept.Parcurgerea n postordine SDR se parcurg n postordine subarborele stng i subarborele drept , iar apoi se viziteaz rdcina .
Fie G=(V,E) un graf.A-matricea de adiacen a grafului;S- o structurde tip stiv,ncare snt introduse vrfurile ce urmeaz a fi vizitate i procesatem-un vector cu n componente(iniializate cu 0),unde mi=1 sau mi=0
Algoritm:
-stiva S este iniializat cu vrful v0; - ct timp S , +Se extrage i viziteaz un vrf idin stiv,+Se introduc n stiv vecinii lui i care nu au fost deja introdui (acele vrfuri k cu proprietatea c m[k]=0 i a[i][k]=1). Vrfurile i ce au fost introduse n stiv snt marcate prin m[i]=1.