Differences

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

Link to this comparison view

pa:laboratoare:shortest-paths-problem [2022/04/30 00:56]
darius.neatu
pa:laboratoare:shortest-paths-problem [2023/05/08 22:20] (current)
radu.iacob [[Studiu de caz] k surse / destinații]
Line 248: Line 248:
 path = RebuildPath(source,​ destination,​ p) path = RebuildPath(source,​ destination,​ p)
 </​code>​ </​code>​
- 
 Analog se reconstitue drumul și dacă suntem pe cazul cu surse multiple, destinații multiple, unde tabloul $p$ este o matrice, iar atunci când cautăm un drum care începe cu nodul $source$, folosim doar elementele de pe linia $p[source]$. Analog se reconstitue drumul și dacă suntem pe cazul cu surse multiple, destinații multiple, unde tabloul $p$ este o matrice, iar atunci când cautăm un drum care începe cu nodul $source$, folosim doar elementele de pe linia $p[source]$.
  
Line 309: Line 308:
 Mai există o varianta a problemei pe care dorim să o menționăm. Avem **k** surse (sau destinații),​ unde **k << n ** (k mult mai mic decât n - de exemplu, $k = 10$ constant) și ne interesează să găsim distanța pentru fiecare nod din graf către cea mai apropiată sursă. Mai există o varianta a problemei pe care dorim să o menționăm. Avem **k** surse (sau destinații),​ unde **k << n ** (k mult mai mic decât n - de exemplu, $k = 10$ constant) și ne interesează să găsim distanța pentru fiecare nod din graf către cea mai apropiată sursă.
  
-O abordare naivă ar rula de **k** ori un algorthm de drumuri minime (de exemplu, Dijkstra) și pentru fiecare nod ar reține minimul dintre cele k distanțe calculate pentru un nod. Complexitatea este $O(k * complexitate_algoritm$).+O abordare naivă ar rula de **k** ori un algorthm de drumuri minime (de exemplu, Dijkstra) și pentru fiecare nod ar reține minimul dintre cele k distanțe calculate pentru un nod. Complexitatea este $O(k * complexitate\_algoritm$).
  
 O optimizare pe care o putem facem, este să adaugăm un nod fictiv $S$ și să îl unim cu fiecare dintre cele **k** noduri cu muchie de cost **0**. În noul graf format, dacă vom rula un algoritm să găsim toate distanțele de la nodul **S** la celelalte noduri din graf, rezolvăm și problema inițială. O optimizare pe care o putem facem, este să adaugăm un nod fictiv $S$ și să îl unim cu fiecare dintre cele **k** noduri cu muchie de cost **0**. În noul graf format, dacă vom rula un algoritm să găsim toate distanțele de la nodul **S** la celelalte noduri din graf, rezolvăm și problema inițială.
pa/laboratoare/shortest-paths-problem.1651269382.txt.gz · Last modified: 2022/04/30 00:56 by darius.neatu
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