Dijkstra算法 Floyd算法 问题描述: 给定一个有向无环图,找出某一节点作为起点,到达图中其余各点的最短路径。 Dijkstra算法 原理:以起始点为中心向外层层扩展,直到扩展到终点为止,使用了广度优先搜索解决赋权有向图的单源最短路径问题,算法最终得到一个最短路径树。时间复杂度为O(N^2) 辅助变量: 一个队列,保存当前已经加入的节点; 映射数组:保存起点到每个节点的距离/加权路径长度。 path:保存某点在路径中的前一个节点。