Dijkstra’s 算法 • 贪婪 • 使用优先级队列(heap) • 列表中添加元素{元素,优先级},并从另一端删除最高优先级项 • 入队:添加一个{元素,优先级} • 队列:删除最高优先级的元素 • 优先级队列通常使用“堆”来实现,并可以优先考虑低值(Min-Heap)或大值(Max-Heap)
缺点:边为负数,负循环等无法准确搜索。