Skip to content

Commit ffc77d0

Browse files
Add Pseudocode
1 parent ef4b021 commit ffc77d0

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
order.emplace(0, src)
16+
17+
while (!order.empty()) {
18+
[du, u] = order.top()
19+
order.pop()
20+
21+
if (du > min_dist[u]) {
22+
continue
23+
}
24+
25+
for ([v, dv] : adj_list[u]) {
26+
if (min_dist[u] + dv < min_dist[v]) {
27+
min_dist[v] = min_dist[u] + dv
28+
order.emplace(min_dist[v], v)
29+
}
30+
}
31+
}
32+
33+
return min_dist[dst]

0 commit comments

Comments
 (0)