售前咨询:400-100-2938
C++ Dijkstra算法通常不能处理负权边,因为算法基于贪心思想,每次选择最短路径的顶点并加入到最短路径树中。当存在负权边时,最短路径可能会出现环路,导致算法无法正常求解最短路径。
如果需要处理含有负权边的图,可以考虑使用Bellman-Ford算法。Bellman-Ford算法可以处理含有负权边的图,但是时间复杂度较高,为O(V*E),其中V为顶点数,E为边数。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:C++ Dijkstra算法和Floyd比较