Skip to content

Commit fcb838e

Browse files
committed
Update dijkstra_2.py
1 parent 30b5455 commit fcb838e

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

graphs/dijkstra_2.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
11
def print_dist(dist, v):
2+
"""
3+
Print vertex distances.
4+
>>> print_dist([0.0, 5.0, 8.0, 9.0], 4)
5+
Vertex Distance
6+
0 0
7+
1 5
8+
2 8
9+
3 9
10+
>>> print_dist([0.0, float('inf')], 2)
11+
Vertex Distance
12+
0 0
13+
1 INF
14+
>>> print_dist([0.0], 1)
15+
Vertex Distance
16+
0 0
17+
"""
218
print("\nVertex Distance")
319
for i in range(v):
420
if dist[i] != float("inf"):
@@ -30,6 +46,34 @@ def min_dist(mdist, vset, v):
3046

3147

3248
def dijkstra(graph, v, src):
49+
"""
50+
Runs Dijkstra's algorithm and prints distances.
51+
>>> g = [
52+
... [0.0, 5.0, float('inf'), 10.0],
53+
... [float('inf'), 0.0, 3.0, float('inf')],
54+
... [float('inf'), float('inf'), 0.0, 1.0],
55+
... [float('inf'), float('inf'), float('inf'), 0.0],
56+
... ]
57+
>>> dijkstra(g, 4, 0)
58+
Vertex Distance
59+
0 0
60+
1 5
61+
2 8
62+
3 9
63+
64+
>>> g2 = [
65+
... [0.0, float('inf')],
66+
... [float('inf'), 0.0],
67+
... ]
68+
>>> dijkstra(g2, 2, 0)
69+
Vertex Distance
70+
0 0
71+
1 INF
72+
73+
>>> dijkstra([[0.0]], 1, 0)
74+
Vertex Distance
75+
0 0
76+
"""
3377
mdist = [float("inf") for _ in range(v)]
3478
vset = [False for _ in range(v)]
3579
mdist[src] = 0.0

0 commit comments

Comments
 (0)