关于Dijkstra和BellmanFord求最短路径的疑惑

前几天学了Dijkstra算法然后又看了Bellman-Ford,
虽说两个处理的一个是点Djk一个是边BF,但是感觉本质上两个是一样的,无非是如何设定循环次数不一样
负边权问题好像也可以解决Dijkstra算法JAVA,不知道是不是没用队列的原因
记录一下,有时间回来看

dijkstra

点距离矩阵(已知相邻点距离

a-最近相邻节点-x-出路径更新1-n距离(权值),del x )repeat

1.每次都找最近点

2.只进一步 类似广度搜索

负权值的问题

有顶点a,b,c, 边ab的权值是5,边bc的权值是-4,边ac的权值是3. 计算从a到c的最短路径。套用dijsktra算法会得到错误的结果a->c (正确解应该是a->b->c)?

可以啊??

a b c
a 0 4 3
b 0 -2
c 0

Bellman-Ford

边数据-邻接表(不考虑相邻点

只判断该边能否松弛距离 [源点-V]>边长W+[源点-U]

1.起始仅有源点-源点距离 0

所以仅源点出边 松弛(也就是相邻点)

原文地址:https://www.cnblogs.com/impw/p/15556486.html