INF = int(1e9) N = 5 edge_list = [] dist = [INF] * N # Create Edge List edge_list.append([0, 1, 5]) edge_list.append([0, 3, -3]) edge_list.append([1, 2, 2]) edge_list.append([2, 4, 2]) edge_list.append([3, 1, 6]) edge_list.append([3, 4, 12]) # Execute Bellman-Ford Alogrithm with standard node '0' dist[0] = 0 for i in range(1, N): # step i for start, end, weight in edge_list: if start == INF: continue dist[end] = min(dist[end], dist[start]+weight) # Print result print(dist)