https://labuladong.online/algo/data-structure-basic/graph-shortest-path/#dijkstra-算法简介
https://programmercarl.com/kamacoder/图论总结篇.html
https://programmercarl.com/kamacoder/最短路问题总结篇.html

总的来说:

最小生成树,即最短路径遍历全联通节点用prim

即最简单的三部曲:第一步,选距离生成树最近节点
第二步,最近节点加入生成树
第三步,更新非生成树节点到生成树的距离(即更新minDist数组)

最短路径问题

单源最短路径(无负权)dij堆优化版

负则用bellmanford(用邻接矩阵即可)

即对n个节点用n-1次遍历去松弛
详见:https://programmercarl.com/kamacoder/0094.城市间货物运输I.html#什么叫做松弛

对于有限制的:最多经过k个节点:松弛k+1次