Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:laboratoare:lab-07 [2026/05/11 22:06]
valentin.carauleanu
sd-ca:laboratoare:lab-07 [2026/05/12 18:39] (current)
roberto_giulio.pal [Exerciţii]
Line 4: Line 4:
   * [[alexiaops2014@gmail.com|Oprisan Alexia-Ioana]]   * [[alexiaops2014@gmail.com|Oprisan Alexia-Ioana]]
   * [[-@gmail.com|Macovei Nicolae-Cristian]]   * [[-@gmail.com|Macovei Nicolae-Cristian]]
 +  * [[valentin.carauleanu@stud.fim.upb.ro|Cărăuleanu Valentin Gabriel]]
  
 ===== Obiective ===== ===== Obiective =====
Line 235: Line 236:
 </​note>​ </​note>​
  
-===== Algoritmul Floyd-Warshall ===== 
- 
-Algoritmul **Floyd-Warshall** este un algoritm folosit pentru găsirea **celor mai scurte căi** între toate perechile de noduri dintr-un graf orientat cu costuri pe muchii. Costurile pot fi pozitive sau negative, însă algoritmul nu funcționează corect în prezența **ciclurilor negative**. 
- 
-Ideea de bază a algoritmului este simplă: pentru fiecare pereche de noduri ''​(i,​ j)'',​ se verifică dacă există un nod intermediar ''​k''​ prin care calea de la ''​i''​ la ''​j''​ devine mai scurtă. Algoritmul iterează prin toate nodurile posibile ca intermediari,​ îmbunătățind progresiv matricea de distanțe. 
- 
-**Complexitate:​** 
-  * **Timp**: ''​O(|V|³)''​ - trei bucle imbricate peste toate nodurile 
-  * **Spațiu**:​ ''​O(|V|²)''​ - matricea de distanțe 
- 
-=== Pseudocod === 
- 
-<​code>​ 
-dist[V][V] ​   // Matricea de distanțe minime, inițializată cu INFINIT 
- 
-pentru fiecare nod v 
-    dist[v][v] = 0 
- 
-pentru fiecare muchie (u, v) din E 
-    dist[u][v] = cost(u, v) 
- 
-pentru k între 0 și |V| – 1         // nodul intermediar 
-    pentru i între 0 și |V| – 1     // nodul sursă 
-        pentru j între 0 și |V| – 1 // nodul destinație 
-            dacă dist[i][k] + dist[k][j] < dist[i][j] 
-                dist[i][j] = dist[i][k] + dist[k][j] 
-</​code>​ 
  
 ===== Exerciţii ===== ===== Exerciţii =====
Line 277: Line 251:
 4) [**1p**] Implementați parcurgerea in lățime (BFS) a unui graf implementat cu listă de adiacență (**BFS** pe Devmind). 4) [**1p**] Implementați parcurgerea in lățime (BFS) a unui graf implementat cu listă de adiacență (**BFS** pe Devmind).
  
-5) [**2p - bonus**] Implementați algoritmul Floyd-Warshall pe un graf reprezentat printr-o matrice de adiacență. 
 ===== Interviu ===== ===== Interviu =====
  
sd-ca/laboratoare/lab-07.1778526360.txt.gz · Last modified: 2026/05/11 22:06 by valentin.carauleanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0