| 1 | Initialize | - | [A] | {} | {"A":0} | A(0) |
| 2 | Dequeue | A | [] | {"A"} | {"A":0} | A(0) |
| 3 | Visit neighbor B | A | [B] | {"A", "B"} | {"A":0, "B":1} | A(0) -> B(1) |
| 4 | Visit neighbor C | A | [B, C] | {"A", "B", "C"} | {"A":0, "B":1, "C":1} | A(0) -> B(1), C(1) |
| 5 | Dequeue | B | [C] | {"A", "B", "C"} | {"A":0, "B":1, "C":1} | A(0) -> B(1), C(1) |
| 6 | Visit neighbor A | B | [C] | {"A", "B", "C"} | {"A":0, "B":1, "C":1} | A(0) -> B(1), C(1) (A visited) |
| 7 | Visit neighbor D | B | [C, D] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) |
| 8 | Dequeue | C | [D] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) |
| 9 | Visit neighbor A | C | [D] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) (A visited) |
| 10 | Visit neighbor D | C | [D] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) (D visited) |
| 11 | Dequeue | D | [] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) |
| 12 | Visit neighbor B | D | [] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) (B visited) |
| 13 | Visit neighbor C | D | [] | {"A", "B", "C", "D"} | {"A":0, "B":1, "C":1, "D":2} | A(0) -> B(1), C(1), D(2) (C visited) |
| 14 | Visit neighbor E | D | [E] | {"A", "B", "C", "D", "E"} | {"A":0, "B":1, "C":1, "D":2, "E":3} | A(0) -> B(1), C(1), D(2), E(3) |
| 15 | Dequeue | E | [] | {"A", "B", "C", "D", "E"} | {"A":0, "B":1, "C":1, "D":2, "E":3} | A(0) -> B(1), C(1), D(2), E(3) |
| 16 | Visit neighbor D | E | [] | {"A", "B", "C", "D", "E"} | {"A":0, "B":1, "C":1, "D":2, "E":3} | A(0) -> B(1), C(1), D(2), E(3) (D visited) |
| 17 | Queue empty | - | [] | {"A", "B", "C", "D", "E"} | {"A":0, "B":1, "C":1, "D":2, "E":3} | Traversal complete |
| 18 | End | - | - | - | - | All shortest distances found |