Algorithm Kruskal&x27的运行时间;通过改变排序时间的s算法

Algorithm Kruskal&x27的运行时间;通过改变排序时间的s算法,algorithm,graph,analysis,minimum-spanning-tree,kruskals-algorithm,Algorithm,Graph,Analysis,Minimum Spanning Tree,Kruskals Algorithm,我在分析最小生成树,想知道排序时间会如何影响Kruskal算法的总体时间复杂度 例如: 如果可以在O(n log n) 如果可以在O(n) 对于这两种情况,答案仍然是O(e log n),还是会改变 Kruskal算法的时间是O(e log e)它是对边缘进行排序的时间。如果你能在O(e)中做到这一点,考虑到寻找最小生成树的算法的其余部分是O(e logn),你就有了O(e)+O(e logn)。由于e=O(n^2)那么算法时间将是O(n^2 log n)或O(e log n)。如果排序采用O(

我在分析最小生成树,想知道排序时间会如何影响Kruskal算法的总体时间复杂度

例如:

  • 如果可以在
    O(n log n)
  • 如果可以在
    O(n)

  • 对于这两种情况,答案仍然是
    O(e log n)
    ,还是会改变

    Kruskal算法的时间是
    O(e log e)
    它是对边缘进行排序的时间。如果你能在O(e)中做到这一点,考虑到寻找最小生成树的算法的其余部分是O(e logn),你就有了
    O(e)+O(e logn)
    。由于
    e=O(n^2)
    那么算法时间将是
    O(n^2 log n)
    O(e log n)
    。如果排序采用O(e log e)进行相同的分析,则总时间将为
    O(e log e)

    详细信息:查找最小生成树的时间由排序边所需的时间计算,然后是一个循环(e次),在该循环中,从排序列表中删除每条边,并检查它是否连接两个不相交的区域。(该检查需要O(logn))并且循环的时间将是如上所述的
    O(e logn)


    使用更复杂的不相交集数据结构来查找和检查不相交区域,循环有O(Eα(V))时间,其中α是单值Ackermann函数的极慢增长的逆()

    如果使用不相交集来实现kruskal算法,复杂度将是
    SortComplexity+Eα(E)

    E
    是边数,
    alpha
    是非常缓慢增长的函数(根据
    n
    的实际值小于5)

    因此,如果排序可以在
    O(n)
    中进行,那么kruskal的复杂性将是
    O(Eα(E))


    如果排序复杂度是
    O(nloglogn)
    kruskal的复杂度将是
    O(elogogoge)
    ,对于稠密图,它将是
    O(v^2logv)
    v
    是顶点数)

    你应该指定什么是n,什么是e?如果你发现答案有用,请将其标记为答案并投票。@Ahmad OP只有11个代表,因此他/她无法投票。但是如果你觉得这个问题很有趣,你也可以投它一票;-)@谢谢,我已经做了。我需要一些选票来回答我的问题和答案,留下一个不公平的禁令,如果你还审查了我的问题和答案,请考虑投票。