Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 1

import heapq

def dijkstra(graph, start_node, end_node):

distance = {node: float('inf') for node in graph}


distance[start_node] = 0

heap = [(0, start_node)]

while heap:

(dist, current_node) = heapq.heappop(heap)

if current_node == end_node:
break
for neighbor, weight in graph[current_node].items():
new_distance = distance[current_node] + weight
if new_distance < distance[neighbor]:
distance[neighbor] = new_distance
heapq.heappush(heap, (new_distance, neighbor))

return distance[end_node]

graph = {

'1': {'2': 4, '3':2},


'2': {'3': 3, '4': 5},
'3': {'4': 2, '5':4},
'4': {'6': 2},
'5': {'4': 3, '6':1},
'6': {}
}
shortest_distance = dijkstra(graph, '1', '6')

print(f"La distancia más corta desde '1' hasta '6' es: {shortest_distance}")

You might also like