Prim 模板

  • 时间复杂度 O(V^2)
int prim(int graph[][MAX], int n)  
{  
    int lowcost[MAX];  
    int mst[MAX];  
    int i, j, min, minid, sum = 0;  
    for (i = 2; i <= n; i++)  
    {  
        lowcost[i] = graph[1][i];  
        mst[i] = 1;  
    }  
    mst[1] = 0;  
    for (i = 2; i <= n; i++)  
    {  
        min = MAXCOST;  
        minid = 0;  
        for (j = 2; j <= n; j++)  
        {  
            if (lowcost[j] < min && lowcost[j] != 0)  
            {  
                min = lowcost[j];  
                minid = j;  
            }  
        }  
        cout << "V" << mst[minid] << "-V" << minid << "=" << min << endl;  
        sum += min;  
        lowcost[minid] = 0;  
        for (j = 2; j <= n; j++)  
        {  
            if (graph[minid][j] < lowcost[j])  
            {  
                lowcost[j] = graph[minid][j];  
                mst[j] = minid;  
            }  
        }  
    }  
    return sum;  
}  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《机械制图》10%(50+30=80) 单项选择题 Q-B1-E-001 L 基本幅面不能满足需要而采用加长幅面时...
    开源时代阅读 4,032评论 1 1
  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,861评论 0 19
  • 发现问题 昨天和朋友聚餐,回来后有点晚,但在临睡前,收到一个小伙伴给我发来信息,约我下周咨询为什么老拉肚子的...
    一只喜欢营养的兔子阅读 501评论 0 3
  • 捣乱的走了,仲老太太继续说:“是个挺好的姑娘,丢了张钱,瞧就是这张!你看看能不能帮着找到?” 安胥笑了,挺好的姑娘...
    残禾阅读 316评论 0 0
  • 多态 对象的多态性。多态在程序中的体现:父类的引用或者接口的引用指向了子类对象多态的好处:提高了代码的扩展性多态的...
    whyshang阅读 286评论 0 0