算法导论 24.1 Bellman-Ford算法

本文介绍了Bellman-Ford算法,适用于处理包含负权边的单源最短路径问题。算法通过松弛操作逐步更新路径估计值,经过|V|-1次迭代以确保找到最短路径。文中详细阐述了算法过程,包括初始化、松弛操作、最短路径证明及伪代码,并分析了其时间复杂度为O(V*E)。
摘要由CSDN通过智能技术生成

一,Bellman-Ford算法的思想

         Bellman-Ford算法(以下简称BF算法),用于解决边的权重可以为负值的单源最短路径,它通过对边进行松弛操作逐渐降低从源结点s到各结点v的最短路径估计值v.d,直到该估计值与实际的最短路径权重δ(s,v)相同。

二,Bellman-Ford算法介绍

        准备阶段:一副赋值有向图,每个结点有两个属性:d和π,分别表示从源结点到该结点的最短路径和前驱结点

        算法过程:初始化各结点,对每条边进行|V|-1次松弛处理,处理完后检查是否存在环路,返回t/f,算法中有两个重要的证明,一个是为何对每条边进行|V|-1次松弛后能够确保v.d=δ(s,v),另一个是为何v.d>u.d+w(u.v)时存在环路

        (1)为何对每条边进行|V|-1次松弛后能够确保v.d=δ(s,v)?

                最坏的情况下,从源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值