首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dijkstra算法概念

Dijkstra算法概念
EN

Stack Overflow用户
提问于 2014-08-21 07:30:52
回答 2查看 144关注 0票数 0

我只是在学习Dijkstra算法,只是有点困惑

代码语言:javascript
复制
If min(A,B) = x;
   min(A,C) = y;
   min(B,C) = must be x-y;

请为它辩护,还是我错了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-21 07:50:05

好吧,这就是你想说的话:

我将在所有这些中提到一个有向的非负权重图。

最短路径问题:

对于有向图G和V中的节点r和实代价向量(c_e:e,E) (我希望这里有LaTeX )

我们希望发现:

对于V中的每一个v,一个从r到v的最小成本的双路径(假设它存在)

,这是你想要的东西的要点:

假设我们知道,对于V中的每个V,都有一个从r到v的路径,并且我们在E中找到了满足y_v + c_vw < y_w的边vw。

因为将vw附加到dipath到v(获取w的路径)将给出长度为y_v+c_vw的路径

最小代价双路径满足:

y_v+c_vw >= y_w为E中的所有大众服务

我们称这样的y向量为“可行势”。

命题: y_v是最小

设y是一个可行势,P是从r到v的一条双路径,则它遵循c(P) >= y_v

证明:

c(P) =和c_ei (路径的第一个边)

回想一下,一个可行的潜力统计y_v + c_vw >= y_w

所以c_vw >= y_w - y_v ,这就是

因此

c(P) >=和(y_vi-y_v{i-1}) (第一项的费用取前一项的费用)

如果将其写为sum (-y_v{i-1} + y_vi),则展开sum:(显然y_v0=0)

-y_v0+y_v1 -y_v1 + y_v2 -.-y_v{k-2} + y_v{k-1} -y_v{k-1} + y_vk

你看到所有的条款都被取消了,给出:

c(P) >= y_vk - y_v0 = y_vk

因此,我们展示了c(P) >= y_vk

票数 2
EN

Stack Overflow用户

发布于 2014-08-21 08:09:00

这是错误的,考虑任何等边三角形,两边的差值是0,而第三个大小的长度不是。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25420638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档