Răspuns :
DECI!
DFS, sau Depth-first search SAU PARCURGEREA IN ADANCIMEA
cand iti declari stiva aia in subprogram, o ai goala
faci s.push(nodul din care incepi) ca sa bagi nodul radacina de unde parcurgi
apoi cat timp stiva nu e goala, v il scoti din stiva cu s.pop() si te intrebi ca daca v nu e vizitat atunci il consideri vizitar si faci un for de la toate legaturile lui v la alte noduri, adica la fiii lui si faci s.push(fiu) daca acesti copii nu au fost vizitati
asta este explici tu acolo, viziteaza vecinii fiecarui varf in ordinea inversa unul fata de celalalt: primul vecin al lui v vizitat de functia recursiva este primul din lista adiacentelor, adica lista s.
imagineaza-ti ca ai exemplul urmator:
radacina e nodul A, care are copii pe B, C si E, iar B are copii pe D si F, iar C are copil pe G
implementarea recursiva va vizita nodurile din exemplu asa:
A, B, D, F, E, C, G
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite!