我试图得到一些真实/虚假的问题。我很担心,当我用真的回答他们中的许多人时...请假设所有图都是无向并且做不是有不同重量。负重量应该没问题。如果G具有唯一最重边e的循环,则e不能成为任何MST的一部分。加权图形问题,TRUE/FALSE +说明
我的回答是错误的。 例如,我们具有节点A,B,C,d的曲线图,E.
AB = 1
BC = 2
BD = 3
CD = 100
DE = 4
正如你可以看到,BCD是一个循环。 我的观点是,由于它是一个循环,我们可以通过采取其他路线,始终避免唯一最重要的边缘CD。所以这是真的。我的论点是否听起来(足够)?
Qb)由Dijkstra算法计算出的最短路径树必然是MST。
我的回答是真实的,但我的直觉告诉我有什么不对。 那么...... Disjkstra和Prim都是贪婪算法。他们每次都会选择最轻的加权边缘。 是否有任何情况下,最短路径树是不是最小生成树? 我其实很难理解这两个家伙之间的区别。 QP)Prim的算法与负加权边缘一起工作。
我的回答是错误的。因为这就是wiki所说的......:p 该算法是关于找到所有边缘中成本最低的边缘。所以负加权边缘应该不重要,是吗?但是负加权周期呢?如果G具有唯一最轻边e的循环,则e必须是每个MST的一部分。
我的回答是错误的。 我们必须访问MST中的所有节点。例如,在一个长度为3的循环中,我们总是可以遍历该循环中的所有节点,分2步。如果有一个独特的最轻边缘,我们肯定会在MST中选择它。
我的声明是否正确?也许他们不够?那么有什么建议吗?
dijstra用于计算A到B之间的最短路径。它不是MST。 Prim是MST。 – Bytemain
是的,但是在Dijkstra被执行之后,如果我们在到达目标时不停下来,我们会得到每个节点的最短路径。有时,问题甚至没有给出目标,这意味着我们继续迭代直到遍历所有节点。之后,我们有最短路径的树。问题是这个最短路径树是否在同一个图的MST中? – Felastine
这是真的,但图中也有多个MST。 – Bytemain