@@ -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