11问答网
所有问题
最短路径 Dijkstra 算法为什么边上的权值非负阿?
问个问题 自己没搞懂 dijkstra 算法就是 求单源最短路径的那个算法 嘿嘿 牛人给个解答阿
举报该问题
推荐答案 推荐于2017-12-15
Dijkstra算法当中将节点分为已求得最短路径的集合(记为S)和未确定最短路径的个集合(记为U),归入S集合的节点的最短路径及其长度不再变更,如果边上的权值允许为负值,那么有可能出现当与S内某点(记为a)以负边相连的点(记为b)确定其最短路径时,它的最短路径长度加上这条负边的权值结果小于a原先确定的最短路径长度,而此时a在Dijkstra算法下是无法更新的,由此便可能得不到正确的结果。求带负权值边的单源最短路径可以用贝尔曼-福特算法。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/F7F7qq4P87q884P4PP7.html
其他回答
第1个回答 2013-11-22
规定的吧 权值一般都是正数
第2个回答 2013-11-22
可能楼上不知道吧 我考的学校 出了这么一道题 赫赫
相似回答
迪杰斯特拉
算法为什么
不能有负权边
答:
dijkstra
由于是贪心的,每次都找一个距源点最近的点(dmin),然后将该距离定为这个点到源点的
最短路径
(d[i]<--dmin);但如果存在负权边,那就有可能先通过并不是距源点最近的一个次优点(dmin'),再通过这个负权边L(L<0),使得路径之和更小(dmin'+L<dmin),则dmin'+L成为最短路径,...
大家正在搜
dijkstra最短路径算法
最短路径dijkstra算法例题
求最短路径的算法
最短路径问题算法
单源最短路径算法
最短路径优先算法
最短路径算法floyd
图最短路径算法
最短路径迪杰斯特拉算法
相关问题
dijkstra算法为什么不能有负边?如果因为负边而找到更小...
dijkstra算法边上带有负权值时不能适用,但是我自己按照...
Dijkstra算法为什么权值不能是负值
Dijkstra算法权值为什么不能为负?权值为负是怎样一种情...
迪杰斯特拉算法为什么不能有负权边
为什么Dijkstra算法不能处理有负权值的图?
采用Dijkstra算法求解带权有向图的最短路径问题时,要求...
dijkstra算法