-
无向图的建图:容易只初始化g[v1][v2]=length,忘记了g[v2][v1]=length
-
java集合之间用"="赋值的话是浅拷贝,需要深拷贝的话要注意
-
java集合比如Vector,调用remove()方法时,如果想要删除的是元素而不是index,参数要强制类型转换:vector.remove((Object)element)
-
反复使用Dijkstra的话要记得清除上次使用的影响,比如重新设置vis数组元素都为false
-
用邻接矩阵存储图的时候不要忘记了给所有边权初始化为INF!!!!!!!
-
dijkstra+dfs涉及多重标尺的时候,一定要分明标尺的主次。尤其是在dfs里,主标尺(相对优先级更高的标尺)更新了,那么次标尺(相对优先级更低的标尺)也要记得更新!!!!!
7.dijkstra+dfs时间复杂度较高,可能会导致超时。只有两重标尺的时候,可以考虑使用一遍dijkstra同时维护另外一个数组同时记录下唯一路径,再通过递归把路径得出来,而不是先dijkstra再独立dfs去求出最优解和路径。