0
有一个有向图G = [V ; E]
,边的权值为w(u, v)
为(u, v) ∈ E
。找到有向图的最短路径
假设值{d[v], π[v]}; v ∈ V
并声称
,这些都是最短路径的长度和
它v ∈ V
前身节点,我怎么能验证,如果这个说法是真的还是假的,做没有从头开始解决整个最短路径问题?这是一个问题,我遇到了我的脑袋没有太多的想法..
有一个有向图G = [V ; E]
,边的权值为w(u, v)
为(u, v) ∈ E
。找到有向图的最短路径
假设值{d[v], π[v]}; v ∈ V
并声称
,这些都是最短路径的长度和
它v ∈ V
前身节点,我怎么能验证,如果这个说法是真的还是假的,做没有从头开始解决整个最短路径问题?这是一个问题,我遇到了我的脑袋没有太多的想法..
的问题是有点不清楚,但澄清:
有一个在你的图形中的节点s
,并且对于每个顶点v
:
v != s
,pi[v]
旨在是相邻v
节点这是从v
到s
的最短路径上。d[v]
旨在存储从v
到s
的最短距离。问题是验证pi
,d
,他们合法地包含后缘和最小距离。
用于验证这样的一个容易实施的条件如下:
For each vertex v
Either:
v = s and d[v] = 0
Or:
d[pi[v]] = d[v] - 1
d[u] >= d[v] - 1 for each u adjacent to v
pi[v] is adjacent to v
此检查运行在O(V + E)的时间。
你是在算法问题杀死狂欢:( – Yerken
你能指导我更多描述为您的解决方案?:) –
这里是一个证明提示:让d'是图上的真正的距离函数。通过在d'[v]上的归纳证明d [v] = d'[v]并且pi [v]是与v相比更接近s的v的顶点。 –