Se citeste un arbore cu n varfuri dat prin vectorul muchiilor si apoi se citeste varful radacina. Sa se construiasca si sa se afiseze vectorul TATA.
Vectorul de tati de declara astfel: T[i]=parintele(tata) nodului i.
Pentru arborele din figura vectorul TATA este 0,1,2,1 si radacina este 1.Muchiile care se citesc sunt 1-2,2-1,1-4
#include<iostream.h>
int n, r, T[20], a[20][20], p[20];void citire()
{ int i,x,y;
cout<<“nr de noduri: “;cin>>n;
cout<<“cititi muchiile de forma x-y : “<<endl;
for(i=1;i<=n-1;i++)
{ cin>>x>>y;
a[x][y]=a[y][x]=1;;
}
cout<<“dati radacina : “<<endl;
cin>>r;
}void BF(int r)
{ int s,d,i,x[100];
d=s=1;
x[1]=r; p[r]=1;
while (s<=d)
{ for(i=1;i<=n;i++)
if(a[x[s]][i] &&!p[i])
{ d++; x[d]=i;
p[i]=1; T[i]=x[s];
}
s++;
}
}void main()
{ int i;
citire();
BF(r);
cout<<“vectorul TATA este :”<<endl;
for(i=1;i<=n;i++) cout<<T[i]<<” “;
}