关于 Dijkstra算法
· 适用于不含负边的图
· 可以被堆或者线段树优化
· 需要用到的数组:
vis[]标记此点是否走过(或被收录到最优路径集合中);dis[]记录从出发点到每个节点的最短距离;front[]记录前面点
· 总结出两个步骤:
①每次从未标记的节点中选择距离出发点最近的节点,标记,收录到最优路径集合中。
②计算刚加入节点A到临近节点B的距离(不包含标记的节点),若(节点A的距离+节点A到节点B的边长)<节点B的距离,就更新节点B的距离和前面点。
几个例题(慢慢更):