| Algorithm 2 Dijkstra’s algorithm with Binary Min-heap | |
| 1 | Dijkstra_Binary_Min-heap(G, s) |
| 2 | dist[s] = 0 |
| 3 | for each vertex v∈V |
| 4 | if v ≠ s |
| 5 | dist[v] = ∞ |
| 6 | pre [v] = undefined |
| 7 | Q.add_with_min-priority(v, dist[v]) |
| 8 | S = Ø |
| 9 | Q = V |
| 10 | whileQ ≠ Ø do |
| 11 | u = extract_min_with_min- priority(Q) |
| 12 | S = S∪{u} |
| 13 | for each vertex v∈Adj(u) do |
| 14 | dist[v] = min(dist[v], dist[u]+w(u, v)) |
| 15 | pre[v] = u |
| 16 | Q.decrease_min-priority(v, dist[v]) |