对贪心法求解最小代价生成树的理解

简单来说,最小代价生成树就是在图中找到一颗权值之和最小的树。最著名的就是Kulxx和prim算法。

贪心法的简介:

能用贪心法求解的问题的解可以表示成n-元组,一一考察解集中的每一个看他是否满足约束条件。使得目标函数取得最大值。

能用贪心法求解的问题,有最优子结构和符合贪心选择性质。

最小代价生成树的贪心算法


EsetType SpanningTree(EsetType E,int n)
{
     EsetType s=NULL;
    int u,v,k=0;EType e;
   while(k

kruskal算法最好理解,他把所有的边的权值进行排序,先加入最小的边,后来加入边的时候检查是否构成回路,如果不构成加入这个边,反之,进行下一步。

prim算法是从某个节点出发,找到跟这个节点相连的最小权值的边,加入生成树。他比较试用与边数多的图,因为他不用检查是否构成回路和进行边权值排序。


你可能感兴趣的:(ACM)