这两个算法两个月之前都还没有头绪,现在看都是那么简单,感概呀==
Bellman-Ford和Dijkstra其实整体是一个思路,Dijkstra是每次花O(V)的时间找一个已知的最短距离的点,然后把每条边遍历一次花费O(E)时间,然后O(V)可以用 优先队列优化成O(logV)。最后时间复杂度O(E * logV)
Bellman-Ford是不去找那个最短距离的点,遍历一遍所有的边O(E),对每条边检查一下所有的点O(V)。时间复杂度O(E * V)
这两个算法两个月之前都还没有头绪,现在看都是那么简单,感概呀==
Bellman-Ford和Dijkstra其实整体是一个思路,Dijkstra是每次花O(V)的时间找一个已知的最短距离的点,然后把每条边遍历一次花费O(E)时间,然后O(V)可以用 优先队列优化成O(logV)。最后时间复杂度O(E * logV)
Bellman-Ford是不去找那个最短距离的点,遍历一遍所有的边O(E),对每条边检查一下所有的点O(V)。时间复杂度O(E * V)