From b3613915a4d22c1f0b072c32deaafac6ee40f295 Mon Sep 17 00:00:00 2001 From: John Law Date: Sat, 16 Nov 2019 22:32:00 -0800 Subject: [PATCH 1/5] Fix out of range error in bellman_ford.py --- graphs/bellman_ford.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphs/bellman_ford.py b/graphs/bellman_ford.py index 5c36468e79de..5e8330ece1bc 100644 --- a/graphs/bellman_ford.py +++ b/graphs/bellman_ford.py @@ -38,7 +38,7 @@ def BellmanFord(graph, V, E, src): graph = [dict() for j in range(E)] - for i in range(V): + for i in range(E): graph[i][i] = 0.0 for i in range(E): From d52536bbf58a58afc1f32f1c3196e2d37640147f Mon Sep 17 00:00:00 2001 From: John Law Date: Wed, 20 Nov 2019 04:39:32 +0800 Subject: [PATCH 2/5] Update bellman_ford.py --- graphs/bellman_ford.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/graphs/bellman_ford.py b/graphs/bellman_ford.py index 5e8330ece1bc..b9eb21f950c3 100644 --- a/graphs/bellman_ford.py +++ b/graphs/bellman_ford.py @@ -1,5 +1,8 @@ +from typing import Dict, List + + def printDist(dist, V): - print("\nVertex Distance") + print("Vertex Distance") for i in range(V): if dist[i] != float("inf"): print(i, "\t", int(dist[i]), end="\t") @@ -8,7 +11,11 @@ def printDist(dist, V): print() -def BellmanFord(graph, V, E, src): +def BellmanFord(graph: List[Dict[str, int]], V: int, E: int, src: int)-> int: + r""" + Returns shortest paths from a vertex src to all + other vertices. + """ mdist = [float("inf") for i in range(V)] mdist[src] = 0.0 @@ -30,6 +37,7 @@ def BellmanFord(graph, V, E, src): return printDist(mdist, V) + return src if __name__ == "__main__": From 3f143ce92c06e795eebd66bdb9792fe5e5ceb9b9 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 19 Nov 2019 20:41:06 +0000 Subject: [PATCH 3/5] fixup! Format Python code with psf/black push --- graphs/bellman_ford.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphs/bellman_ford.py b/graphs/bellman_ford.py index b9eb21f950c3..24de87110d93 100644 --- a/graphs/bellman_ford.py +++ b/graphs/bellman_ford.py @@ -11,7 +11,7 @@ def printDist(dist, V): print() -def BellmanFord(graph: List[Dict[str, int]], V: int, E: int, src: int)-> int: +def BellmanFord(graph: List[Dict[str, int]], V: int, E: int, src: int) -> int: r""" Returns shortest paths from a vertex src to all other vertices. From b4ff4b829b3bb571b845ff2ad5655c8d2a722fac Mon Sep 17 00:00:00 2001 From: John Law Date: Wed, 20 Nov 2019 04:42:02 +0800 Subject: [PATCH 4/5] Enhance the print function --- graphs/bellman_ford.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/graphs/bellman_ford.py b/graphs/bellman_ford.py index 24de87110d93..e1904974dbf8 100644 --- a/graphs/bellman_ford.py +++ b/graphs/bellman_ford.py @@ -3,12 +3,8 @@ def printDist(dist, V): print("Vertex Distance") - for i in range(V): - if dist[i] != float("inf"): - print(i, "\t", int(dist[i]), end="\t") - else: - print(i, "\t", "INF", end="\t") - print() + distances = ('INF' if d == float('inf') else d for d in dist) + print("\t".join(f"{i}\t{d}" for i, d in enumerate(distances))) def BellmanFord(graph: List[Dict[str, int]], V: int, E: int, src: int) -> int: From a06f49b472954c78b57566648732293aa9e9d683 Mon Sep 17 00:00:00 2001 From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Date: Tue, 19 Nov 2019 20:42:53 +0000 Subject: [PATCH 5/5] fixup! Format Python code with psf/black push --- graphs/bellman_ford.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphs/bellman_ford.py b/graphs/bellman_ford.py index e1904974dbf8..6b5e8b735c43 100644 --- a/graphs/bellman_ford.py +++ b/graphs/bellman_ford.py @@ -3,7 +3,7 @@ def printDist(dist, V): print("Vertex Distance") - distances = ('INF' if d == float('inf') else d for d in dist) + distances = ("INF" if d == float("inf") else d for d in dist) print("\t".join(f"{i}\t{d}" for i, d in enumerate(distances)))