摘要: 当我们使用BellmanFord算法时可以了解到,当我们第一次遍历时松弛的边是从源点可以直接到达的边,接着再从这些顶点可以直接到达的边进行松弛,以此类推。 所以基于以上思想我们可以去除BellmanFord算法中的无效循环。 首先我们可以选择使用连个数组first和next,first用于记录每条边 阅读全文
posted @ 2017-11-19 21:26 Arthur_08320 阅读(124) 评论(0) 推荐(0) 编辑
摘要: BellmanFord算法的核心思想是:遍历每一条边,如果这条边可以使源点到这条边的终点比源点到这条起点加上这条边的边长变短则松弛成功。 例如上图:首先我们用一个数组进行记录从源点开始到除其本身外顶点的距离为999。我们从第一条边(2 3 2)开始遍历,首先我们判断源点到顶点3的距离是小于源点到顶点 阅读全文
posted @ 2017-11-19 20:17 Arthur_08320 阅读(282) 评论(0) 推荐(0) 编辑