dijkstra 不能求带负权最短路
我们知道,\(dijkstra\) 算法在求最短路是基于贪心思想的:每次选取一个点,这个点到起点的距离一定是最短的(其实就是,\(dijkstra\) 很呆,它简单而又固执的认为,边的个数越多,你的总长度肯定更长!)。然后用这个点来更新其余的点,循环往复,并且每个点只用来更新一次,多更新也没啥用。
但是,有负权边时,\(dijkstra\) 就不可以了,因为此时,边的个数增加,总边权可能更小了
我们知道,\(dijkstra\) 算法在求最短路是基于贪心思想的:每次选取一个点,这个点到起点的距离一定是最短的(其实就是,\(dijkstra\) 很呆,它简单而又固执的认为,边的个数越多,你的总长度肯定更长!)。然后用这个点来更新其余的点,循环往复,并且每个点只用来更新一次,多更新也没啥用。
但是,有负权边时,\(dijkstra\) 就不可以了,因为此时,边的个数增加,总边权可能更小了