Given the following weighted directed graph, use Dijkstra’s algorithm to find…

2025

Given the following weighted directed graph, use Dijkstra’s algorithm to find the shortest path from vertex A to all other vertices.

Vertices: A, B, C, D, E

Edges:
A → B (4), A → C (1)
C → B (2), B → E (4), C → D (4)
D → E (4)

Show answer & explanation

Graph edges with weights:

A -> B (4)
A -> C (1)
C -> B (2)
C -> D (4)
B -> E (4)
D -> E (4)

Step 1: Initialization

Source vertex = A

Distances:
A = 0
B = infinity
C = infinity
D = infinity
E = infinity

Visited set = { }

Step 2: Visit A

Relax outgoing edges from A:

B = min(infinity, 0 + 4) = 4
C = min(infinity, 0 + 1) = 1

Distances now:
A = 0, B = 4, C = 1, D = infinity, E = infinity

Next vertex = C, because it has the smallest temporary distance.

Step 3: Visit C

Relax outgoing edges from C:

B = min(4, 1 + 2) = 3
D = min(infinity, 1 + 4) = 5

Distances now:
A = 0, B = 3, C = 1, D = 5, E = infinity

Next vertex = B.

Step 4: Visit B

Relax outgoing edge from B:

E = min(infinity, 3 + 4) = 7

Distances now:
A = 0, B = 3, C = 1, D = 5, E = 7

Next vertex = D.

Step 5: Visit D

Relax outgoing edge from D:

E = min(7, 5 + 4) = min(7, 9) = 7

So there is no change.

Final shortest distances and paths from A:

A: distance 0, path A
C: distance 1, path A -> C
B: distance 3, path A -> C -> B
D: distance 5, path A -> C -> D
E: distance 7, path A -> C -> B -> E

Explore the full course: Hpsc Pgt Computer Science