Dijkstra 算法伪代码混淆

Posted

技术标签:

【中文标题】Dijkstra 算法伪代码混淆【英文标题】:Dijkstra's Algorithm Pseudocode Confusion 【发布时间】:2021-12-21 07:59:53 【问题描述】:

我正在尝试为旅行商问题实现 Dijkstra 算法的一个版本,我发现了这篇论文:https://www.researchgate.net/figure/Dijkstras-algorithm-for-many-targets-with-a-pruning-heuristic-An-upper-bound-B-for-d-v_fig2_257428759

我理解算法,但我对这个伪代码中的“免费”意味着什么感到困惑。谁能给我解释一下?

即在以下几行中:

如果你有空,那么就停下来

如果 v 是空闲的,那么 B = minc, b fl

A Heuristic for Dijkstra's Algorithm with Many Targets (Pseudocode)

【问题讨论】:

【参考方案1】:

您链接到的论文似乎没有处理旅行推销员问题,而是处理二分匹配:

两个版本的问题都可以通过求解来解决 n,n=max(|A|,|B|),单源多目标最短路径(SSMTSP) 派生图中的问题,请参阅第 4 节。

free 节点是指与二分图中的任何其他节点都不匹配的节点。这在链接论文的第 4 节(第 87 页标签)中说明,脚注5

如果 M 中没有边与该节点相关,则该节点是空闲的。

M定义为需要在上一页计算的匹配。

这个算法似乎只对这个匹配问题有用,它需要你多次运行它。这只是对二分匹配的多次运行的改进,它不是一个独立的算法。

【讨论】:

哦,好吧,这更有意义!非常感谢您的清晰解释!

以上是关于Dijkstra 算法伪代码混淆的主要内容,如果未能解决你的问题,请参考以下文章

混淆过的js代码如何还原?

python 的混淆后的代码可以还原么

android 代码混淆模板

基数排序代码混淆

从 cv.glmnet 得到混淆矩阵

base64随机字符混淆加密解密-美拍视频地址解密,反推加密算法