| 1 | Initialize distances and unvisited | None | {"A":0, "B":∞, "C":∞, "D":∞, "E":∞, "F":∞} | [] | A(0), B(∞), C(∞), D(∞), E(∞), F(∞) |
| 2 | Pick node with smallest distance | A | {"A":0, "B":∞, "C":∞, "D":∞, "E":∞, "F":∞} | [] | A(0), B(∞), C(∞), D(∞), E(∞), F(∞) |
| 3 | Update neighbors of A | A | {"A":0, "B":4, "C":2, "D":∞, "E":∞, "F":∞} | [] | A(0) -> B(4), C(2), others ∞ |
| 4 | Mark A visited | A | {"A":0, "B":4, "C":2, "D":∞, "E":∞, "F":∞} | [A] | Visited: A; Unvisited: B(4), C(2), D(∞), E(∞), F(∞) |
| 5 | Pick node with smallest distance | C | {"A":0, "B":4, "C":2, "D":∞, "E":∞, "F":∞} | [A] | Visited: A; Current: C(2) |
| 6 | Update neighbors of C | C | {"A":0, "B":4, "C":2, "D":∞, "E":5, "F":∞} | [A] | Updated E distance to 5 via C |
| 7 | Mark C visited | C | {"A":0, "B":4, "C":2, "D":∞, "E":5, "F":∞} | [A, C] | Visited: A, C; Unvisited: B(4), D(∞), E(5), F(∞) |
| 8 | Pick node with smallest distance | B | {"A":0, "B":4, "C":2, "D":∞, "E":5, "F":∞} | [A, C] | Current: B(4) |
| 9 | Update neighbors of B | B | {"A":0, "B":4, "C":2, "D":14, "E":5, "F":∞} | [A, C] | Updated D distance to 14 via B |
| 10 | Mark B visited | B | {"A":0, "B":4, "C":2, "D":14, "E":5, "F":∞} | [A, C, B] | Visited: A, C, B; Unvisited: D(14), E(5), F(∞) |
| 11 | Pick node with smallest distance | E | {"A":0, "B":4, "C":2, "D":14, "E":5, "F":∞} | [A, C, B] | Current: E(5) |
| 12 | Update neighbors of E | E | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":∞} | [A, C, B] | Updated D distance to 9 via E |
| 13 | Mark E visited | E | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":∞} | [A, C, B, E] | Visited: A, C, B, E; Unvisited: D(9), F(∞) |
| 14 | Pick node with smallest distance | D | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":∞} | [A, C, B, E] | Current: D(9) |
| 15 | Update neighbors of D | D | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":20} | [A, C, B, E] | Updated F distance to 20 via D |
| 16 | Mark D visited | D | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":20} | [A, C, B, E, D] | Visited: A, C, B, E, D; Unvisited: F(20) |
| 17 | Pick node with smallest distance | F | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":20} | [A, C, B, E, D] | Current: F(20) |
| 18 | Mark F visited | F | {"A":0, "B":4, "C":2, "D":9, "E":5, "F":20} | [A, C, B, E, D, F] | All nodes visited, algorithm ends |