From 7cf8f4e10ac917ed8b900e43e294e26200329ee8 Mon Sep 17 00:00:00 2001 From: Paul Jungeblut Date: Thu, 6 Oct 2016 19:44:29 +0200 Subject: Saving space in Dijkstra. --- graph/dijkstra.cpp | 12 +++--------- tcr.pdf | Bin 264693 -> 264546 bytes 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/graph/dijkstra.cpp b/graph/dijkstra.cpp index 1fb5f53..52cb57e 100644 --- a/graph/dijkstra.cpp +++ b/graph/dijkstra.cpp @@ -2,22 +2,16 @@ void dijkstra(int start) { priority_queue, greater > pq; vector dist(NUM_VERTICES, INF), parent(NUM_VERTICES, -1); - - dist[start] = 0; - pq.push(ii(0, start)); + dist[start] = 0; pq.push(ii(0, start)); while (!pq.empty()) { ii front = pq.top(); pq.pop(); int curNode = front.second, curDist = front.first; - - if (curDist > dist[curNode]) continue; + if (curDist > dist[curNode]) continue; // WICHTIG! for (auto n : adjlist[curNode]) { int nextNode = n.first, nextDist = curDist + n.second; if (nextDist < dist[nextNode]) { dist[nextNode] = nextDist; parent[nextNode] = curNode; pq.push(ii(nextDist, nextNode)); - } - } - } -} +}}}} diff --git a/tcr.pdf b/tcr.pdf index 357923b..8131aa0 100644 Binary files a/tcr.pdf and b/tcr.pdf differ -- cgit v1.2.3