【算法笔记】最短路径算法约定n代表点数,m代表边数。Dijkstra算法主要用于单源最短路径,也就是图中某一个顶点到其他顶点的最短路径的情况。且主要用于图中所有边权都是正数的时候。 分为朴素Dijkstra算法和堆优化版的Dijkstra算法,虽然看似后者是优化版本,但并不是后者一定比前者优秀。朴素Dijkstra算法的时间复杂度是O(n2),与边数无关,而堆优化版的时间复杂度是O(mlogn),如果图中的边数特别密(逐渐靠近n2),那么堆优化版本的时间复杂度会接近O(n2logn),会比朴素版本更大。综上所述,当图是稠密图,边