246得票10回答
何时应使用Kruskal算法而不是Prim算法(反之亦然)?

我想知道何时应该使用Prim算法和Kruskal算法来寻找最小生成树?它们都有易于理解的逻辑,相同的最坏情况,并且唯一的区别是实现可能涉及略微不同的数据结构。那么决定性因素是什么?

66得票8回答
如何找到最大生成树?

对于最小生成树,Kruskal算法的相反算法在IT技术中是否有效?我是指每一步选择最大权值(边)。 有没有其他想法来找到最大生成树?

30得票6回答
Kruskal算法的时间复杂度是多少?

我正在计算Kruskal算法的时间复杂度,方式如下(请参见附图中的算法)。 T(n) = O(1) + O(V) + O(E log E) + O(V log V) = O(E log E) + O(V log V) as |E| >= |V| - 1 T(n) = E lo...

15得票5回答
如何在无向图中找到反馈边集

设 G = (V,E) 为一个无向图。若一个边集 F ⊆ E 满足 G 的每个环中至少包含一条 F 中的边,则称其为反馈边集。 (a) 假设 G 是无权图。设计一个高效的算法来寻找最小大小的反馈边集。 (b) 假设 G 是带正权重的无向图。设计一个高效的算法来寻找最小权重的反馈边集。 ...

12得票6回答
Kruskal和Prim算法的应用

请问有哪些应用可以使用这两种算法, 它们分别可以用于哪些应用场景?

9得票3回答
为什么Kruskal和Prim最小生成树算法在稀疏图和稠密图中的运行时间不同?

我试图理解为什么Prim和Kruskal在处理稀疏图和密集图时具有不同的时间复杂度。在使用了几个演示它们如何工作的应用程序之后,我仍然对图的密度如何影响算法感到有些困惑。希望有人能给我指点方向。

8得票1回答
克鲁斯卡尔算法的运行时间

Kruskal算法的步骤如下: MST-KRUSKAL(G,w) 1. A={} 2. for each vertex v∈ G.V 3. MAKE-SET(v) 4. sort the edges of G.E into nondecreasing order by weight...

7得票3回答
为什么Kruskal算法得到的树与Dijkstra算法不同?

有人能解释一下为什么Kruskal算法得到的生成树与Dijkstra算法不同吗? 我知道Kruskal算法是按边的非降序列来工作的,而Dijkstra算法则利用优先队列进行操作,但仍然无法理解它们得到的生成树为什么会不同?

7得票2回答
当图中添加一条新边后,如何寻找新的最小生成树?

假设G = (V, E) 是一个加权的、连通的、无向图,T是其最小生成树。e是任意不在E中的边(其权重为W(e))。 证明或证伪:T U {e}是包含G' = (V, E U {e})最小生成树的边集。 对我来说,这听起来是正确的,所以我决定证明它,但每次都卡住了…… 例如,如果e是最小...

7得票2回答
在Ada中实现Kruskal算法,不确定从何处开始。

关于使用Ada实现Kruskal算法,我不确定从哪里开始。 在编写程序之前,我试图仔细考虑一切,但对于我应该使用哪些数据结构以及如何表示每个元素等问题感到相当迷茫。 我的最初想法是用邻接列表表示完整树,但是阅读维基百科后,算法说明要创建一个森林F(一组树),其中图中的每个顶点都是单独的树,我不...