Salut!
Am o intrebare legata de backtacking. Daca fac un DFS ca mai jos fara parametrii si cu o stiva declarata global merge? Si cel mai important foloseste sau nu memorie de pe segmentul de stiva?
#define push_back pb
vector<int> stack;
int viz[100005];
int DFS()
{
u=stack.top();
vizitat[u]=true;
foreach(Vecin[u],vecin)// vecin e un vecin al lui u
if(vizitat[vecin]==false)
{
stack.pb(vecin)
DFS()
stack.pop();
}
}
int main()
{
stack.pb(1);
DFS();
presunere=true;
for(i=1;i<=n;i++)
if(vizitat[i]==0)
presupunere=false;
if(presupunere==false)
cout<<"nu "
cout<<"este graf conex";
return 0;
}
Scuze pentru pseudo-Code++-ul meu.
Sper sa se inteleaga!