You are on page 1of 15

Dijkstra's algorithm

By Deekshant
What is Dijkstra's algorithm
Dijkstra's algorithm is an algorithm for finding the
shortest path between two nodes in a graph. It uses
greedy approach to find the shortest path.
How it works
Suppose we have a graph containing 5 nodes and some
connected edges with given weight and we want to
find the shortest path from start to end.

6
A B
5
1 2
2 C

5
E D
1
Start
End
6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B ∞
C ∞

5 D ∞
E D
1 E ∞

Visited = [] Unvisited = [A, B, C,


D, E]
6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B ∞
C ∞

5 D ∞
E D
1 E ∞

Visited = [A] Unvisited = [B, C, D,


E]
0 + 6
6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 6 A
C ∞

5 D ∞
E D
1 E 1 A
0 + 1

Visited = [A] Unvisited = [B, C, D,


E]
1 + 2
6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 3 E
C ∞

5 D 2 E
E D
1 E 1 A
1 + 1

Visited = [A, E] Unvisited = [B, C, D]


2 + 2
6
Shortest Previous
A B Vertex Distance Vertex
5 From A
2 + 5 A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D] Unvisited = [B,


C]
6
Shortest Previous
A B Vertex Distance Vertex
5 From A
3 + 5 A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D, B] Unvisited =


[C]
6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D, B, C] Unvisited = []


6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D, B, C] Unvisited = []


6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D, B, C] Unvisited = []


6
Shortest Previous
A B Vertex Distance Vertex
5 From A

A 0
2
1 2 C B 3 E
C 7 D

5 D 2 E
E D
1 E 1 A

Visited = [A, E, D, B, C] Unvisited = []


Pros
• Less complex
• Easy to implement
• Efficient for small graph

Cons
• Not efficient for large graphs
• Greedy approach
• Blinds search causes more time
Thank You.

You might also like