算法四-kruskal和DJP

来源:互联网 发布:软件营销策划方案 编辑:程序博客网 时间:2024/06/18 06:11

kruskal算法(求加权连通图的最小生成树的算法)

1、按照边的权值进行从小到大排序
2、每次从剩余的边中选择权限较小且边的两个顶点不在同一个集合内的边(就不会产生回路的边),加入到生成树中,直到加入了n-1条边为止。
第二步采用并查集方法寻找祖先。


prim算法/DJP算法
1、随意选择一个顶点加入生成树(可理解成生成树的根)。
2、再枚举每一个树顶到每一个非树顶点所有的边,找出最短边加入到生成树。
3、再在这个顶点继续2步骤往下罩,重复n-1次,直到将所有顶点都加入到生成树中。


堆时间复杂度为O(MLogM)

邻接表存储图时间复杂度为O(MLogN)


应用:求图中的最小连接成本 

0 0
原创粉丝点击