n 表示点的数量 m 表示边的数量
稀疏图: m 和 n是一个数量级 (堆优化的dijskra算法) 稠密图:m 和 n^2是一个数量级 (朴素版dijskra算法)
存在负权边: 常用spfa 限制边数: (在<=k之内的最短路) bellman-ford
算多个起点到多个终点的最短路: floyd