好的,以下是使用 Python 实现的带二叉堆优化的 Dijkstra 算法的代码:
import heapq
from collections import defaultdict
def dijkstra(graph, start):
distances = {vertex: float('infinity') for vertex in graph}
distances[start] = 0
heap = [(0, start)]
while heap:
(current_distance, current_vertex) =