This shows you the differences between two versions of the page.
|
sd-ca:laboratoare:lab-08 [2026/05/11 21:59] valentin.carauleanu [Ciclu hamiltonian] |
sd-ca:laboratoare:lab-08 [2026/05/11 22:09] (current) valentin.carauleanu [Interviu] |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| * [[stef.dascalu@gmail.com|Ștefan-Teodor Dascălu]] | * [[stef.dascalu@gmail.com|Ștefan-Teodor Dascălu]] | ||
| * [[melih.riza03@gmail.com|Melih Riza]] | * [[melih.riza03@gmail.com|Melih Riza]] | ||
| + | * [[valentin.carauleanu@stud.fim.upb.ro|Cărăuleanu Valentin Gabriel]] | ||
| ===== Obiective ===== | ===== Obiective ===== | ||
| Line 106: | Line 107: | ||
| Pentru a reține distanța și drumul exact de la ''A'' la ''B'', se păstrează pentru fiecare nod: | Pentru a reține distanța și drumul exact de la ''A'' la ''B'', se păstrează pentru fiecare nod: | ||
| - | * ''d[x]'' — distanța de la sursă la nodul ''x'' | + | * ''d[x]'' - distanța de la sursă la nodul ''x'' |
| - | * ''p[x]'' — părintele lui ''x'' în drumul de la sursă spre ''x'' | + | * ''p[x]'' - părintele lui ''x'' în drumul de la sursă spre ''x'' |
| În momentul descoperirii unui nod ''y'' al cărui părinte este ''x'', se fac atribuirile: | În momentul descoperirii unui nod ''y'' al cărui părinte este ''x'', se fac atribuirile: | ||
| Line 176: | Line 177: | ||
| Sortarea topologică se realizează printr-o parcurgere **DFS**, în care se rețin pentru fiecare nod: | Sortarea topologică se realizează printr-o parcurgere **DFS**, în care se rețin pentru fiecare nod: | ||
| - | * ''tDesc[u]'' — momentul descoperirii nodului ''u'' | + | * ''tDesc[u]'' - momentul descoperirii nodului ''u'' |
| - | * ''tFin[u]'' — momentul finalizării procesării nodului ''u'' | + | * ''tFin[u]'' - momentul finalizării procesării nodului ''u'' |
| La final, nodurile sunt sortate **descrescător** după ''tFin''. Nodul care se finalizează cel mai târziu trebuie să apară primul în sortare, deoarece nu depinde de niciun alt nod nedescoperit încă. | La final, nodurile sunt sortate **descrescător** după ''tFin''. Nodul care se finalizează cel mai târziu trebuie să apară primul în sortare, deoarece nu depinde de niciun alt nod nedescoperit încă. | ||
| Line 398: | Line 399: | ||
| <note> | <note> | ||
| - | Trebuie să vă creați cont de [[https://code.devmind.ro/ | Devmind]], dacă nu v-ați creat deja, pe care îl veți folosi la SD pe toată durata semestrului. | + | Trebuie să vă creați cont de [[https://code.devmind.ro/|Devmind]], dacă nu v-ați creat deja, pe care îl veți folosi la SD pe toată durata semestrului. |
| </note> | </note> | ||
| 1) [**3.5p**] Rezolvați problema **Connected Components**. | 1) [**3.5p**] Rezolvați problema **Connected Components**. | ||
| + | 2) [**3.5p**] Rezolvați problema **Minimum Path**. | ||
| + | 3) [**3p**] Rezolvați problema **Check Bipartite**. | ||
| + | ===== Interviu ===== | ||
| - | 2) [**3.5p**] Rezolvați problema **Minimum Path**. | + | Această secțiune nu este punctată și încearcă să vă ofere o idee despre tipurile de întrebări pe care le puteți întâlni la un job interview din materia prezentată în cadrul laboratorului. |
| + | === Probleme recomandate === | ||
| - | 3) [**3p**] Rezolvati problema **Check Bipartite**. | + | **Sortare topologică:** |
| + | * [[https://leetcode.com/problems/course-schedule-ii/description|210. Course Schedule II]] (returnarea ordinii topologice efective) | ||
| + | * [[https://leetcode.com/problems/longest-increasing-path-in-a-matrix/description|329. Longest Increasing Path in a Matrix]] (DAG implicit pe matrice) | ||
| + | **Componente conexe și grafuri bipartite:** | ||
| + | * [[https://leetcode.com/problems/is-graph-bipartite/description|785. Is Graph Bipartite?]] (verificare bipartitivitate cu BFS/DFS) | ||
| + | * [[https://leetcode.com/problems/accounts-merge/description|721. Accounts Merge]] (componente conexe cu Union-Find) | ||
| + | * [[https://leetcode.com/problems/satisfiability-of-equality-equations/description|990. Satisfiability of Equality Equations]] (componente conexe pe graf implicit) | ||
| + | **Drumuri minime:** | ||
| + | * [[https://leetcode.com/problems/network-delay-time/description|743. Network Delay Time]] (Dijkstra clasic) | ||
| + | * [[https://leetcode.com/problems/find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance/description|1334. Find the City with the Smallest Number of Neighbors]] (Floyd-Warshall) | ||
| + | * [[https://leetcode.com/problems/cheapest-flights-within-k-stops/description|787. Cheapest Flights Within K Stops]] (Bellman-Ford cu constrângeri) | ||
| + | **Probleme avansate:** | ||
| + | * [[https://leetcode.com/problems/reconstruct-itinerary/description|332. Reconstruct Itinerary]] (circuit eulerian pe graf orientat) | ||
| + | * [[https://leetcode.com/problems/critical-connections-in-a-network/description|1192. Critical Connections in a Network]] (punți în graf cu algoritmul Tarjan) | ||
| + | * [[https://leetcode.com/problems/swim-in-rising-water/description|778. Swim in Rising Water]] (BFS/Dijkstra pe matrice cu cost variabil) | ||
| ===== Bibliografie ===== | ===== Bibliografie ===== | ||