Skip to content

Commit bcf5bed

Browse files
committed
handled name
1 parent debba8c commit bcf5bed

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

graphs/johnson_graph.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ def bellman_ford(self, start: str) -> dict:
6060

6161
for vertex_a in self.graph:
6262
for vertex_a, vertex_b, weight in self.edges:
63-
if distances[vertex_a] != sys.maxsize - 1 and distances[vertex_a] + weight < distances[vertex_b]:
63+
if (distances[vertex_a] != sys.maxsize - 1 and
64+
distances[vertex_a] + weight < distances[vertex_b]):
6465
distances[vertex_b] = distances[vertex_a] + weight
6566

6667
return distances
@@ -82,14 +83,24 @@ def johnson_algo(self) -> list[dict]:
8283

8384
for i in range(len(self.edges)):
8485
vertex_a, vertex_b, weight = self.edges[i]
85-
self.edges[i] = (vertex_a, vertex_b, weight + hash_path[vertex_a] - hash_path[vertex_b])
86+
self.edges[i] = (vertex_a,
87+
vertex_b,
88+
weight + hash_path[vertex_a] - hash_path[vertex_b])
8689

8790
self.graph.pop("#")
88-
self.edges = [(vertex1, vertex2, node_weight) for vertex1, vertex2, node_weight in self.edges if vertex1 != "#"]
91+
filtered_edges = []
92+
for vertex1, vertex2, node_weight in self.edges:
93+
if vertex1 != "#":
94+
filtered_edges.append((vertex1, vertex2, node_weight))
95+
self.edges = filtered_edges
8996

9097
for vertex in self.graph:
91-
self.graph[vertex] = [(vertex2, node_weight) for vertex1, vertex2, node_weight in self.edges if vertex1 == vertex]
92-
98+
filtered_neighbors = []
99+
for vertex1, vertex2, node_weight in self.edges:
100+
if vertex1 == vertex:
101+
filtered_neighbors.append((vertex2, node_weight))
102+
self.graph[vertex] = filtered_neighbors
103+
93104
distances = []
94105
for vertex1 in self.graph:
95106
new_dist = self.dijkstra(vertex1)

0 commit comments

Comments
 (0)