Handled names

This commit is contained in:
Joelkurien 2024-10-28 14:06:39 +11:00
commit f9bf655086

View File

@ -60,8 +60,10 @@ class JohnsonGraph:
for vertex_a in self.graph: for vertex_a in self.graph:
for vertex_a, vertex_b, weight in self.edges: for vertex_a, vertex_b, weight in self.edges:
if (distances[vertex_a] != sys.maxsize - 1 and if (
distances[vertex_a] + weight < distances[vertex_b]): distances[vertex_a] != sys.maxsize - 1
and distances[vertex_a] + weight < distances[vertex_b]
):
distances[vertex_b] = distances[vertex_a] + weight distances[vertex_b] = distances[vertex_a] + weight
return distances return distances
@ -83,11 +85,21 @@ class JohnsonGraph:
for i in range(len(self.edges)): for i in range(len(self.edges)):
vertex_a, vertex_b, weight = self.edges[i] vertex_a, vertex_b, weight = self.edges[i]
self.edges[i] = (
vertex_a,
vertex_b,
weight + hash_path[vertex_a] - hash_path[vertex_b],
)
self.edges[i] = (vertex_a, self.edges[i] = (vertex_a,
vertex_b, vertex_b,
weight + hash_path[vertex_a] - hash_path[vertex_b]) weight + hash_path[vertex_a] - hash_path[vertex_b])
self.graph.pop("#") self.graph.pop("#")
self.edges = [
(vertex1, vertex2, node_weight)
for vertex1, vertex2, node_weight in self.edges
if vertex1 != "#"
]
filtered_edges = [] filtered_edges = []
for vertex1, vertex2, node_weight in self.edges: for vertex1, vertex2, node_weight in self.edges:
if vertex1 != "#": if vertex1 != "#":
@ -95,6 +107,12 @@ class JohnsonGraph:
self.edges = filtered_edges self.edges = filtered_edges
for vertex in self.graph: for vertex in self.graph:
self.graph[vertex] = [
(vertex2, node_weight)
for vertex1, vertex2, node_weight in self.edges
if vertex1 == vertex
]
filtered_neighbors = [] filtered_neighbors = []
for vertex1, vertex2, node_weight in self.edges: for vertex1, vertex2, node_weight in self.edges:
if vertex1 == vertex: if vertex1 == vertex: