动态规划的应用(一):最短路问题

本文介绍应用动态规划算法求解最短路问题的案例。

其他动态规划的应用实例:
动态规划的应用(二):cutting stock 问题
动态规划的应用(三):字符串相关问题
动态规划的应用(四):LeetCode 1900. 最佳运动员的比拼回合
动态规划的应用(五):LeetCode 413, 446. 等差数列划分
动态规划的应用(六):矩阵相关问题



求从节点 1 到 7 的最短路径:
example

前向递归(forward recursion)


递归方程:
f i ( x i ) = min ⁡ a l l f e a s i b l e   ( x i − 1 , x i )   r o u t e s { d ( x i − 1 , x i ) + f i − 1 ( x i − 1 ) } i = 1 , 2 , 3 f_i(x_i) = \min_{all feasible \ (x_{i-1}, x_i) \ routes} \{ d(x_{i-1}, x_i) + f_{i-1}(x_{i-1}) \} \quad i = 1, 2, 3 fi(xi)=allfeasible (xi1,xi) routesmin{ d(xi1,xi)+fi1(xi1)}i=1,2,3

stage 1:

(略)

stage 2:

节 点 1 到 节 点 5 的 最 短 距 离 = min ⁡ i = 2 , 3 , 4 ( 节 点 1 到 节 点 i 的 最 短 距 离 + 节 点 i 到 节 点 5 的 最 短 距 离 ) = min ⁡ { 7 + 12 = 19 8 + 8 = 16 5 + 7 = 12 } = 12   ( 由 节 点 4 ) \begin {aligned} 节点 1 到节点 5 的最短距离 &= \min_{i=2,3,4} (节点 1 到节点 i 的最短距离 + 节点 i 到节点 5 的最短距离) \\ &= \min \left\{ \begin{matrix} 7 + 12 = 19 \\ 8 + 8 = 16 \\ 5 + 7 = 12 \end{matrix} \right\} = 12 \ (由节点 4) \end {aligned} 15=i=2,3,4min(1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值