#include<iostream>           //最小生成树。 
#include<cstring>
using namespace std;        
int arr[303][303];           //链接矩阵。从一开始。 要想推导出路径来也是可以的。 
int flag[303];               //用于标记在不在vnew中。
int lowcost[303];
int N;
const int inf=1e9+10;

int main()
{
    cin>>N;
    for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++)
        {
            int abc;
            cin>>abc;
            if(abc==0) 
                arr[i][j]=inf;
            else 
                arr[i][j]=abc;
        } 
    memset(flag,0,sizeof(flag));
    flag[1]=1;
    for(int i=1;i<=100;i++)
        lowcost[i]=100;
    for(int i=1;i<=N;i++)
        lowcost[i]=arr[1][i];      
    int sum=0;        
    for(int i=2;i<=N;i++)                          //仅仅只是进行了n-1次。那自然也是不能浪费。    
    {
        int themin=inf;
        int k;
        for(int j=1;j<=N;j++)
        {
            if(flag[j]==0&&lowcost[j]<themin)          
            {
                themin=lowcost[j];                 //找出最小的来。    
                k=j;                                   
            }            
        }     
        sum=sum+themin;
        flag[k]=1;                                   //都是针对于这一个k的,所以说k还是很关键的。 
        for(int j=1;j<=N;j++)
            if(arr[k][j]<lowcost[j])
                lowcost[j]=arr[k][j];        
    } 
    cout<<"最小生成树的长度为:"<<sum<<endl;
    return 0;    
}

最小生成树(prim算法)相关推荐

  1. [Java学习] 最小生成树——Prim算法

    文章目录 最小生成树 Prim算法流程 应用实例 求最小生成树 最小生成树 百度百科上对于最小生成树的定义是这样的:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结 ...

  2. 最小生成树Prim算法Java版

    最小生成树Prim算法Java版 算法描述: 在一个加权连通图中,顶点集合V,边集合为E 任意选出一个点作为初始顶点,标记为visit,计算所有与之相连接的点的距离,选择距离最短的,标记visit. ...

  3. D-OJ刷题日记:使用邻接矩阵实现最小生成树Prim算法 题目编号:1135

    理解: [理解prim算法本质--让一棵小树逐渐长大] Prim算法:又称为加边法,即每次选择最小权值的边加入到生成树中,然后再更新权值,如此反复,保证每次最优来达到最优解. Prim算法生成树用的是 ...

  4. 西南科技大学OJ题 求最小生成树(Prim算法)1075

    求最小生成树(Prim算法) 1000(ms) 10000(kb) 2256 / 4495 Tags: 生成树 求出给定无向带权图的最小生成树.图的定点为字符型,权值为不超过100的整形.在提示中已经 ...

  5. 最小生成树-Prim算法详解(含全部代码)

    目录 适用条件 测试所用图 算法详解 Prim算法代码 全部代码 实验结果 适用条件 加权连通图 测试所用图 所用原图及生成过程 其中,(a) 为原图,圆圈里面是节点的名称,边上的数字是边的权值.由实 ...

  6. 最小生成树 - Prim算法

    最小生成树 - Prim算法 思路: 采用 贪心策略,每次选取连通块外延的最短边和对应的点放入连通块,再更新新的连通块外延的边.连通部分逐渐扩大,最后将整个图连通起来,并且边长之和最小. 时间复杂度: ...

  7. 【数据结构】最小生成树 Prim算法 Kruskal算法

    最小生成树应用场景: 假设以下场景,有一块木板,板上钉上一些钉子,这些钉子可以由一些细绳连接起来.假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样得情况,即用最少的细绳把所有的钉子连接起 ...

  8. 生成树的概念,最小生成树Prim算法 Kruskal算法

    求解最小生成树可以用Prim算法 Kruskal算法

  9. POJ2728 Desert King ——01分数规划Dinkelbach迭代法+最小生成树prim算法

    首先,纪念我用Linux系统AC的第一题-   安装这个万恶的NOI Linux系统费了6小时的时间,不过好在最后终于装上了,但是因为我安装的Linux系统比较烂,还遭到了小花儿和js的鄙视,唉,本人 ...

  10. 图论(十)最小生成树-Prim算法

    前面说过,Prim算法是从顶点着手构建最小生成树的.应该说,Prim算法比Kruskal更简单.我们还是以前面的乡镇假设光纤网络为例: Prim算法工作步骤 (1) 构建全部顶点集V,选取初始顶点,加 ...

最新文章

  1. 点云数据格式 数据集笔记
  2. 【luogu 2709 / BZOJ 3781】小B的询问
  3. python滚动文本框_调整滚动Tkinter文本框的大小
  4. Maven实战 | dependencies与dependencyManagement
  5. 经典html,经典 HTML
  6. CCF201912-2 回收站选址(100分)【序列处理】
  7. SecureCRT的Backspace显示为^H的解决办法
  8. 乌班图vim怎么编译c语言,在Ubuntu上利用vim进行程序编写及运行
  9. CCF专区推荐重点SCI期刊征稿中~
  10. 从“卡脖子”到人有我优,数字孪生盾构机施工流程可视化
  11. visio2016 数据库模型图_数据库第七章--NoSQL数据库
  12. 海康威视摄像头+OpenCV+VS2017 图像处理小结(一)
  13. python单元测试用例_Python单元测试与测试用例简析
  14. AD画PCB板子 基本步骤
  15. 搭建git服务器 web项目,git服务器搭建web项目
  16. 《大明王朝的七张面孔》——海瑞
  17. 显示器固件测试软件,【安全工具】固件可视化分析-工具篇
  18. 京东阿里都已入局 顺丰在即时配送的胜算有多大?
  19. css 字体颜色 样式大全
  20. AI顶级期刊 IEEE T-PAMI 2020最新论文解读 | Deep Partial Multi-View Learning

热门文章

  1. springboot ftp 笔记
  2. iOS 点击推送消息跳转指定界面 —总结篇
  3. RHEL6基础四十九之RHEL文件(夹)权限进阶篇
  4. Eclipse + CDT引入OpenCV失败的解决的方法
  5. 高精度模板(含加减乘除四则运算)
  6. 自定义键盘keyfere——pcsensor
  7. Linux网络基本网络配置
  8. 推荐 7 个学习 TypeScript 的宝库,2021 是时候给自己加薪了!
  9. typescript入门简明教程
  10. reactjs组件的生命周期