算法设计与分析 作业三 纯答案

题目一------单源最短路 考场标准时间15m

维护S Q表,Q按照从小到大的价值排序,每次选最小代价的点出来探索。

翻译:

在给定的带权有向图上运行Dijkstra算法,计算从顶点 a 出发的最短路径树(shortest-path tree)

具体要求:

在每一次迭代(循环)中,请展示以下四个中间结果:

  • (a) 从**优先队列(priority queue)**中选出的顶点;

  • (b) 每个顶点当前的最短距离估计值 dv

  • (c) 每个顶点的前驱节点 πv(即路径上的上一个节点);

  • (d) 已确定集合 S 的内容,以及剩余优先队列 Q 的内容。

最后:

画出或列出最终生成的最短路径树

解析

我的答案

维护S Q表,Q按照从小到大的价值排序,每次选最小代价的点出来探索。

题目二------多源最短路 考场标准时间40m

原理是由于DJ法无法处理负权边问题,因此引入一个"零势能面",将负权边转为正权边。

首先引入一个超级原点,就是零势能面,然后计算所有点到原点的最短路,用BellmanFOrd即可。

遍历所有变更新到无变化。

然后记录所有点到原点的最短路长度(相当于海拔高度有正有负),然后就能得到最低的海平面。

我们的任务就是以最低的海平面为0m。

因此引入变化势能函数尖w(A,B)=w(A,B)+h(A)-h(B)

这样算出来的新权重就是全为正的,可以用DJ法。

接下来就是用多源DJ法计算多源最短路,每次算出来一个点都要计算转换后的权重,也就是

σ(A,B)=δ(A,B)+h(B)-h(A),注意,这里是后减前,是为了还原到原始权重去计算!!!

这个σ就是最短路距离了!

翻译:用约翰逊算法解决多源最短路的问题

总体思路:

将负权边转换为非负权边,引入势能函数,保证负权非负

1.引入超级原点S,将S与所有节点相连,权重为0

2.列出所有边

3.使用Bellmanford进行单元最短路计算,列边松弛列dΠ,得到S到各个点的最短路

4.计算势能 h(v)=δ(s,v)

5.计算等效边权w(u,v)_hat

6.这时就可以迪杰斯特拉了

解析

我的答案

题目三------找最短增广路 考场标准时间16m

翻译:

展示 Edmonds-Karp 算法在上述流量网络上的执行过程。请在每次迭代中,展示流量网络、残余网络、增广路径以及增加的流量(增量流)。最后,展示最大流量以及对应的最小割。

解析

我的答案

题目四------线性规划问题 考场标准时间25m

翻译:

给定以下线性规划问题 (LP),

最大化 z=x1+2x2

约束条件 (s.t.):

x2≤2x1+2

x1+3x2≤27

x1+x2≤15

2x1≤x2+18

x≥0

通过几何论证和单纯形法计算其最优解。

解析

流程参考下面:

先进行STF和RLF验证,符合形式后再进行求解即可。

我的答案

题目五------二分图匹配问题(匈牙利树算法) 考查标准时间12m

翻译:

解析

我的答案

相关推荐
To_OC7 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_841495648 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
爱刷碗的苏泓舒12 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽15 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米15 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
星空露珠16 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA17 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel17 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客18 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化