Unelte utilizator

Unelte site


laboratoare:laborator-05

Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

Ambele părți revizuirea anterioară Versiuni anterioare
Urmatoarea versiune
Versiuni anterioare
Urmatoarea versiune Ambele părți următoarea reviziune
laboratoare:laborator-05 [2017/03/18 23:56]
mihai.iacov [2.2 Structură]
laboratoare:laborator-05 [2017/03/19 00:30]
mihai.iacov [4.2.1 Implementare]
Linia 104: Linia 104:
    * nodul sursă (considerat a fi pe nivelul 0)    * nodul sursă (considerat a fi pe nivelul 0)
    * vecinii nodului sursă (reprezentând nivelul 1)    * vecinii nodului sursă (reprezentând nivelul 1)
-   * vecinii încă nevizitați ai nodurilot de pe nivelul 1 (reprezentând nivelul 2)+   * vecinii încă nevizitați ai nodurilor de pe nivelul 1 (reprezentând nivelul 2)
    * ș.a.m.d    * ș.a.m.d
  
Linia 164: Linia 164:
 ====4.2.1 Implementare==== ====4.2.1 Implementare====
  
-<code+Spre deosebire de BFS, DFS utilizează o **stivă** în loc de o coadă. Putem defini o stivă sau ne putem folosi de **stiva compilatorului**, prin apeluri **recursive**. 
-Cod + 
-</code>+<file cpp
 +funcţie pasDFS(curent) 
 +
 + pentru fiecare u dintre vecinii nodului curent 
 +          dacă culoare[u] == alb 
 +          { 
 +               culoare[u] = gri 
 +               p[u] = curent 
 +               d[u] = d[curent] + 1 
 +               pasDFS(u);   //adăugăm nodul u în "stivă" şi începem explorarea 
 +          } 
 + culoare[curent] = negru   //am terminat explorarea vecinilor nodului curent 
 + //ieşirea din funcţie este echivalentă cu eliminarea unui element din stivă 
 +
 +Pentru fiecare nod u din graf 
 +
 +     culoare[u]=alb 
 +     d[u] = infinit    //in d se retine distanta pana la nodul sursa 
 +     p[u] = null 
 +
 +culoare[sursă] = gri; 
 +d[sursă] = 0; 
 + 
 +//se apelează iniţial pasDFS(sursă) 
 + 
 +</file>
 {{ :laboratoare:df1.jpg |}} {{ :laboratoare:df1.jpg |}}
 +
 +===== 5. Exerciţii =====
 +
laboratoare/laborator-05.txt · Ultima modificare: 2018/02/25 22:42 de către mihai.iacov