Skip to content

Commit f7d8e82

Browse files
Add Pseudocode
1 parent ffc77d0 commit f7d8e82

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Node = int
2+
using Cost = int
3+
using AdjList = unordered_map<Node, vector<pair<Node, Cost>>
4+
5+
Node src, dst
6+
AdjList adj_list
7+
unordered_map<Node, Cost> min_dist
8+
priority_queue<pair<Cost, Node>, vector<pair<Cost, Node>>, greater<pair<Cost, Node>>> order
9+
10+
for ([u, _] : adj_list) {
11+
min_dist[u] = inf
12+
}
13+
14+
min_dist[src] = 0
15+
// I forgot to put this
16+
order.emplace(0, src)
17+
18+
while(!order.empty()) {
19+
[du, u] = order.top()
20+
order.pop()
21+
22+
if (du > min_dist[u]) {
23+
continue
24+
}
25+
26+
for ([v, dv] : adj_list[u]) {
27+
if (min_dist[u] + dv < min_dist[v]) {
28+
min_dist[v] = min_dist[u] + dv
29+
order.emplace(min_dist[v], v)
30+
}
31+
}
32+
}
33+
34+
return min_dist[v]

0 commit comments

Comments
 (0)