Dijkstra Shortest Path
Finds shortest path between nodes in a weighted graph. Essential for routing, navigation, and network optimization problems.
Python7/16/2025
#algorithms#graph#shortest-path
Python
import heapq def dijkstra(graph, start, end): distances = {node: float('inf') for node in graph} distances[start] = 0 previous = {} pq = [(0, start)] while pq: current_dist, current = heapq.heappop(pq) if current == end: path = [] while current in previous: path.append(current) current = previous[current] path.append(start) return path[::-1], distances[end] if current_dist > distances[current]: continue for neighbor, weight in graph[current].items(): distance = current_dist + weight if distance < distances[neighbor]: distances[neighbor] = distance previous[neighbor] = current heapq.heappush(pq, (distance, neighbor)) return None, float('inf')
...
Loading comments...