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次

在没有确定的点中找到一个路径最短的,并修改为已经确认

通过这个点修改其他所有没有确定的点

直到所有点已经确认为最短路径,退出循环