用dijkstra算法求最短路时应该注意什么

2025-02-23 15:06:53
推荐回答(1个)
回答1:

主要是注意所处理的图的一些信息。

  1. 注意边权不能是负权。有负权就不能用dijsktra算法啦。

  2. 注意图的规模,如果使用的朴素的dijsktra算法,则处理的复杂度是O(n^2+m)的,那么点数一般不能超过10000;如果使用的是用堆优化的dijsktra,则复杂度是O(nlogn+m)的,那么点数可以达到1000000. (其中n是点数,m是边数)

  3. 注意无向图还是有向图、注意询问的是单源最短路还是多源。

然后我就想不到什么啦...