diff options
Diffstat (limited to 'graph/dijkstra.cpp')
| -rw-r--r-- | graph/dijkstra.cpp | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/graph/dijkstra.cpp b/graph/dijkstra.cpp deleted file mode 100644 index 57071b0..0000000 --- a/graph/dijkstra.cpp +++ /dev/null @@ -1,21 +0,0 @@ -using path = pair<ll, int>; //dist, destination - -void dijkstra(const vector<vector<path>>& adj, int start) { - priority_queue<path, vector<path>, greater<path>> pq; - vector<ll> dist(sz(adj), INF); - vector<int> prev(sz(adj), -1); - dist[start] = 0; pq.emplace(0, start); - - while (!pq.empty()) { - auto [dv, v] = pq.top(); pq.pop(); - if (dv > dist[v]) continue; // WICHTIG! - - for (auto [du, u] : adj[v]) { - ll newDist = dv + du; - if (newDist < dist[u]) { - dist[u] = newDist; - prev[u] = v; - pq.emplace(dist[u], u); - }}} - //return dist, prev; -} |
