Dijkstra算法是一种计算单源最短无负边路径问题的常用算法之一,时间复杂度为O(n2)算法描述如下:dis[v]表示s到v的距离,pre[v]为v的前驱结点,用以输出路径,vis[v]表示该点最短。迪杰斯特拉算法时间复杂度?更多详情请大家跟着小编一起来看看吧!
迪杰斯特拉算法时间复杂度(1)
Dijkstra算法是一种计算单源最短无负边路径问题的常用算法之一,时间复杂度为O(n2)
算法描述如下:dis[v]表示s到v的距离,pre[v]为v的前驱结点,用以输出路径,vis[v]表示该点最短路径是否已经确认
初始化:dis[v]=INT dis[s]=0 pre[s]=0
执行n次
在没有确定的点中找到一个路径最短的,并修改为已经确认
通过这个点修改其他所有没有确定的点
直到所有点已经确认为最短路径,退出循环