This shows you the differences between two versions of the page.
sda-aa:laboratoare:09 [2021/04/27 09:46] cristian.rusu |
sda-aa:laboratoare:09 [2021/04/28 13:55] (current) cristian.rusu [6. Exerciții laborator] |
||
---|---|---|---|
Line 199: | Line 199: | ||
- Citiți datele din arhiva atașată. | - Citiți datele din arhiva atașată. | ||
- | - Creați un graf neorientat și altul orientat din fișerele atașate. Creați matricea de adiancență și separat graful de costuri. | + | - Creați un graf neorientat și altul orientat din fișerele atașate. Creați matricea de adiancență și separat graful de costuri. La punctele următoare folosiți graful neorientat. |
- Găsiți stațiile consecutive care au distanța minimă/maximă între ele. (rezultatele în fișierele min.txt și max.txt) | - Găsiți stațiile consecutive care au distanța minimă/maximă între ele. (rezultatele în fișierele min.txt și max.txt) | ||
- Câți km de cale ferată există în baza noastră de date? (rezultatele în fișierul total.txt) | - Câți km de cale ferată există în baza noastră de date? (rezultatele în fișierul total.txt) | ||
Line 205: | Line 205: | ||
- Găsiți stația (nodul) cea mai departe de București și drumul. (rezultatele în fișierul departe.txt) | - Găsiți stația (nodul) cea mai departe de București și drumul. (rezultatele în fișierul departe.txt) | ||
- Găsiți toate drumurile de la București la Oradea. (rezultatele în fișierul bucuresti_oradea.txt) | - Găsiți toate drumurile de la București la Oradea. (rezultatele în fișierul bucuresti_oradea.txt) | ||
- | - Găsiți cele două stații din graf care sunt la distanța maximă. (rezultatele în fișierul drum_lung.txt) | + | - Găsiți cele două stații din graf care sunt la distanța maximă (pe drumul de cost minim). (rezultatele în fișierul drum_lung.txt) |
==== 7. Probleme opționale, de interviu ==== | ==== 7. Probleme opționale, de interviu ==== | ||
- | - Se dă un graf pentru care se cunoaşte drumul de cost minim de la un nod sursă(S) la un nod destinaţie(D). Dacă adăugăm 100 la costul fiecărei muchii, se modifică drumul de cost minim? (dacă da, daţi un exemplu; dacă nu, explicaţi de ce). | + | - Îmbunătățiți algoritmul lui Dijkstra folosind min-heap. |
+ | - Se dă un graf pentru care se cunoaşte drumul de cost minim de la un nod sursă (S) la un nod destinaţie (D). Dacă adăugăm 100 la costul fiecărei muchii, se modifică drumul de cost minim? (dacă da, daţi un exemplu; dacă nu, explicaţi de ce). | ||
- Aceeaşi întrebare dacă înmulţim fiecare cost cu 100. | - Aceeaşi întrebare dacă înmulţim fiecare cost cu 100. | ||
- | - Cum găsiţi(mai rapid decât cu cei 3 algoritmi prezentaţi) drumul de cost minim de la S la D într-un graf în care toate muchiile au acelaşi cost(1)? Cum adaptaţi soluţia în cazul în care toate muchiile au costul 1 sau 2? | + | - Cum găsiţi (mai rapid decât cu cei 3 algoritmi prezentaţi) drumul de cost minim de la S la D într-un graf în care toate muchiile au acelaşi cost(1)? Cum adaptaţi soluţia în cazul în care toate muchiile au costul 1 sau 2? |
- | - Daţi un exemplu în care folosirea algoritmului lui Dijkstra(pentru a obţine drumul de cost minim pentru toate perechile de noduri) ar fi mai rapidă decât algoritmul Floyd-Warshall. | + | - Daţi un exemplu în care folosirea algoritmului lui Dijkstra (pentru a obţine drumul de cost minim pentru toate perechile de noduri) ar fi mai rapidă decât algoritmul Floyd-Warshall. |
==== 8. Referințe ==== | ==== 8. Referințe ==== |