【算法基础】最短路算法(朴素Dijkstra + 堆优化Dijkstra + Bellman-Ford +SPFA + Floyd)⭐⭐⭐⭐⭐
一、最短路算法1.朴素Dijkstra算法Dijkstra算法用来求所有边权都是正数的单源最短路。边权即两个点之间的距离;单源,即只求从源点(起点,终点也称为汇点)到其他点的最短距离;朴素Dijkstra算法适用于求稠密图的最短距离问题。稠密图是指边数有很多的图,假设n为图的点数,m为图的边数,那么一般当m=n2时该图为稠密图。朴素Dijkstra算法的时间复杂度为O(n2)。该算法基于贪心算法。