Skip to content

Commit 89ecd39

Browse files
authored
Merge pull request #8 from iSoumyaDey/iSoumyaDey-patch-8
Create dijkstra.py
2 parents 87c3c74 + 58867ab commit 89ecd39

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

dijkstra.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env python3
2+
"""Dijkstra's Shortest Path - O(V^2) simple"""
3+
import sys
4+
def dijkstra(graph,src):
5+
n=len(graph); dist=[sys.maxsize]*n; visited=[0]*n; dist[src]=0
6+
for _ in range(n):
7+
u=min((d for d in range(n) if not visited[d]), key=lambda x:dist[x])
8+
visited[u]=1
9+
for v in range(n):
10+
if graph[u][v] and not visited[v] and dist[u]+graph[u][v]<dist[v]:
11+
dist[v]=dist[u]+graph[u][v]
12+
return dist
13+
if __name__=="__main__":
14+
g=[[0,2,0,1,0],[2,0,3,2,0],[0,3,0,0,1],[1,2,0,0,1],[0,0,1,1,0]]
15+
print(dijkstra(g,0))

0 commit comments

Comments
 (0)