Sunteți pe pagina 1din 2

//parcurgere graf in latime #include<fstream.h> int n,a[10][10], vizitat[20], c[20],prim,ultim,k; fstream f(graf.

txt,ios::in); void citeste() {//se cit graf din fisier} void init(int k) {prim=ultim=1;c[ultim]=k;vizitat[k]=1;} int este_vida() {return ultim<prim;} void adauga(int i) {ultim++; c[ultim]=i; vizitat[i[=1;} void elimina() {prim++;} void prelucrare() {int i; k=c[prim]; for(i=1;i<=n;i++) if(a[k][i]==1&&vizitat[i]==0) adauga(i); elimina();} void afisare() {for(int i=1;i<=n;i++) cout<<c[i]<< ;} void main() {citeste(); cout<<nod de pornire:;cin>>k;init(k); while(!este_vida()) prelucrare(); cout<<nodurile vizitate prin metoda BF sunt:<<endl; afisare(); } //parcurgere graf in adancime #include<fstream.h> int n,a[10][10], vizitat[20], st[20],vf,k; fstream f(graf.txt,ios::in); void citeste() {//se cit graf din fisier} void init(int k) {vf=1;st[vf]=k;vizitat[k]=1;} int este_vida() {return vf==0;} void adauga(int i) {vf++; st[vf]=i; vizitat[i[=1;} void elimina() {vf--;} void prelucrare() {int i=1; k=st[vf]; while(i<=n && (a[k][i]==0 || (a[k][i]==1 && vizitat[i]==1))) i++; if(i==n+1) elimina(); else {cout<<i<< ;adauga(i);}} void main() {citeste(); cout<<nod de pornire:;cin>>k; cout<<nodurile vizitate prin metoda DF sunt:<<endl; cout<<k<< ;init(k);

while(!este_vida()) prelucrare(); }

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