Skip to content

Commit 297f3a3

Browse files
committed
Merge branch 'tests/doctests-dijkstra_2' of https://github.com/PranavTamada/Python into tests/doctests-dijkstra_2
2 parents 970d9b8 + f50ce43 commit 297f3a3

1 file changed

Lines changed: 64 additions & 64 deletions

File tree

graphs/dijkstra_2.py

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
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-
"""
18-
print("Vertex Distance")
19-
for i in range(v):
20-
if dist[i] != float("inf"):
21-
print(i," ", int(dist[i]))
22-
else:
23-
print(i," ", "INF")
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+
"""
18+
print("Vertex Distance")
19+
for i in range(v):
20+
if dist[i] != float("inf"):
21+
print(i, " ", int(dist[i]))
22+
else:
23+
print(i, " ", "INF")
2424

2525

2626
def min_dist(mdist, vset, v):
27-
"""
28-
Finds the vertex with minimum distance that hasn't been visited yet.
29-
>>> min_dist([0, 4, 2, float('inf')], [True, False, False, False], 4)
30-
2
31-
>>> min_dist([0, 4, 2, 1], [True, False, True, False], 4)
32-
3
33-
>>> min_dist([0, 4, 2, 1], [True, True, True, True], 4)
34-
-1
35-
>>> min_dist([float('inf'), float('inf')], [False, False], 2)
36-
-1
37-
"""
38-
min_val = float("inf")
39-
min_ind = -1
40-
for i in range(v):
41-
if (not vset[i]) and mdist[i] < min_val:
42-
min_ind = i
43-
min_val = mdist[i]
44-
return min_ind
27+
"""
28+
Finds the vertex with minimum distance that hasn't been visited yet.
29+
>>> min_dist([0, 4, 2, float('inf')], [True, False, False, False], 4)
30+
2
31+
>>> min_dist([0, 4, 2, 1], [True, False, True, False], 4)
32+
3
33+
>>> min_dist([0, 4, 2, 1], [True, True, True, True], 4)
34+
-1
35+
>>> min_dist([float('inf'), float('inf')], [False, False], 2)
36+
-1
37+
"""
38+
min_val = float("inf")
39+
min_ind = -1
40+
for i in range(v):
41+
if (not vset[i]) and mdist[i] < min_val:
42+
min_ind = i
43+
min_val = mdist[i]
44+
return min_ind
4545

4646

4747
def dijkstra(graph, v, src):
@@ -75,36 +75,36 @@ def dijkstra(graph, v, src):
7575
vset = [False for _ in range(v)]
7676
mdist[src] = 0.0
7777

78-
for _ in range(v - 1):
79-
u = min_dist(mdist, vset, v)
80-
vset[u] = True
78+
for _ in range(v - 1):
79+
u = min_dist(mdist, vset, v)
80+
vset[u] = True
8181

82-
for i in range(v):
83-
if (
84-
(not vset[i])
85-
and graph[u][i] != float("inf")
86-
and mdist[u] + graph[u][i] < mdist[i]
87-
):
88-
mdist[i] = mdist[u] + graph[u][i]
82+
for i in range(v):
83+
if (
84+
(not vset[i])
85+
and graph[u][i] != float("inf")
86+
and mdist[u] + graph[u][i] < mdist[i]
87+
):
88+
mdist[i] = mdist[u] + graph[u][i]
8989

90-
print_dist(mdist, v)
90+
print_dist(mdist, v)
9191

9292

9393
if __name__ == "__main__":
94-
V = int(input("Enter number of vertices: ").strip())
95-
E = int(input("Enter number of edges: ").strip())
94+
V = int(input("Enter number of vertices: ").strip())
95+
E = int(input("Enter number of edges: ").strip())
9696

97-
graph = [[float("inf") for i in range(V)] for j in range(V)]
97+
graph = [[float("inf") for i in range(V)] for j in range(V)]
9898

99-
for i in range(V):
100-
graph[i][i] = 0.0
99+
for i in range(V):
100+
graph[i][i] = 0.0
101101

102-
for i in range(E):
103-
print("\nEdge ", i + 1)
104-
src = int(input("Enter source:").strip())
105-
dst = int(input("Enter destination:").strip())
106-
weight = float(input("Enter weight:").strip())
107-
graph[src][dst] = weight
102+
for i in range(E):
103+
print("\nEdge ", i + 1)
104+
src = int(input("Enter source:").strip())
105+
dst = int(input("Enter destination:").strip())
106+
weight = float(input("Enter weight:").strip())
107+
graph[src][dst] = weight
108108

109-
gsrc = int(input("\nEnter shortest path source:").strip())
110-
dijkstra(graph, V, gsrc)
109+
gsrc = int(input("\nEnter shortest path source:").strip())
110+
dijkstra(graph, V, gsrc)

0 commit comments

Comments
 (0)