Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def Dijkstra(matrix):
- N = len(matrix)
- valid = [True]*N
- weight = [1000000]*N
- weight[0] = 0
- for i in range(N):
- min_weight = 1000001
- ID_min_weight = -1
- for i in range(len(weight)):
- if valid[i] and weight[i] < min_weight:
- min_weight = weight[i]
- ID_min_weight = i
- for i in range(N):
- if weight[ID_min_weight] + matrix[ID_min_weight][i] < weight[i]:
- weight[i] = weight[ID_min_weight] + matrix[ID_min_weight][i]
- valid[ID_min_weight] = False
- return weight
- def main():
- matrix = [
- [0, 10, 8, 6, 5],
- [0, 0, 0, 0, 5],
- [0, 0, 0, 0, 5],
- [0, 10, 0, 0, 5],
- [0, 0, 0, 0, 0]
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement