关于 Dijkstra算法


· 适用于不含负边的图

· 可以被堆或者线段树优化

· 需要用到的数组

  vis[]标记此点是否走过(或被收录到最优路径集合中);dis[]记录从出发点到每个节点的最短距离;front[]记录前面点

· 总结出两个步骤:

①每次从未标记的节点中选择距离出发点最近的节点,标记,收录到最优路径集合中。

②计算刚加入节点A到临近节点B的距离(不包含标记的节点),若(节点A的距离+节点A到节点B的边长)<节点B的距离,就更新节点B的距离和前面点。


几个例题(慢慢更):