中易网

Kruskal算法的时间复杂度是多少?

答案:2  悬赏:50  
解决时间 2021-01-18 05:38
  • 提问者网友:雪舞兮
  • 2021-01-17 17:40
Kruskal算法的时间复杂度是多少?
最佳答案
  • 二级知识专家网友:独钓一江月
  • 2021-01-17 17:49
Kruskal算法的时间复杂度由排序算法决定,若采用快排则时间复杂度为O(N log N)。

kruskal算法:

求加权连通图的最小生成树的算法。kruskal算法总共选择n- 1条边,(共n个点)所使用的贪婪准则是:从剩下的边中选择一条不会产生环路的
具有最小耗费的边加入已选择的边的集合中。注意到所选取的边若产生环路则不可能形成一棵生成树。kruskal算法分e 步,其中e
是网络中边的数目。按耗费递增的顺序来考虑这e
条边,每次考虑一条边。当考虑某条边时,若将其加入到已选边的集合中会出现环路,则将其抛弃,否则,将它选入。
假设WN=(V,{E})是一个含有 n 个顶点的连通网,则按照克鲁斯卡尔算法构造最小生成树的
过程为:先构造一个只含 n 个顶点,而边集为空的子图,若将该子图中各个顶点看成是各棵树上的根结点,则它是一个含有 n
棵树的一个森林。之后,从网的边集 E
中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,也就是说,将这两个顶点分别所在的两棵树合成一棵树;反之,若该条边的两个顶
点已落在同一棵树上,则不可取,而应该取下一条权值最小的边再试之。依次类推,直至森林中只有一棵树,也即子图中含有 n-1条边为止。
全部回答
  • 1楼网友:动情书生
  • 2021-01-17 19:28
log的底数为2,即e乘以以2为底的e的对数
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息