数学建模算法——图论最短路径求解:迪杰斯特拉、贝尔曼福特、弗洛伊德(自用)

简要

- 图为某些事物之间的某种特定关系,点代表事物,两点之间的线是表示两个事物之间的关系,故而其点集和线集组成了图。

- 由是否有方向分为有向图和无向图,其边上可有权值,即为有权图,权重在某些 具体问题中也算为距离等。

- 在做这种图的时候可以使用matlab或者网页在线作图(自用8讲4页)

- 在有向图和无向图的权重邻接矩阵中,Dij 意味着第i个节点到第j个节点的权重,其主对角线上的元素为0,若两个节点之间没有联系或者是在单向联系中,没有联系的在矩阵中用inf即无线表示。

迪杰斯特拉算法(前提为权值为非负数)

- 基于贪婪算法,用于计算初始点到其他节点之间的最短的距离,以起始点为中心向外层层扩散,直至到达终点,在结果的最短路径中,其经过的每一个节点到初始点的距离皆为最短的。

- 将节点集合分为已访问节点和未访问节点,加入是否被访问、初始点到达该点的距离、邻接点(由哪一个点来的)信息,由初始点出发,寻找最短路径至第二个节点,后每次由最短路径的节点出发进一步更新路径至每一个节点,在此过程中,及时更新邻接点,访问状态,以及每一个点到初始点的最短距离

- 由结果可以从邻接点信息推出最短路径,此方法也同样适用雨有向图

贝尔曼福特法

- 贝尔曼‐福特算法不再将节点区分为是否已 访问的状态,因为贝尔曼‐福特模型是利用循环来进 行更新权重的,且每循环一次,贝尔曼福特算法都会 更新所有的节点的信息。

- 但是贝尔曼福特法不支持含有 负权回路的图(弗洛伊德算法也不行)

- 负权回路——存在一个

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值