给定有权无向图的邻接矩阵如下,求其最小生成树的总权重,代码。
#include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f const int maxn = 117; int m[maxn][maxn]; int vis[maxn], low[maxn]; /* 对于这道题目来将,m就是临接矩阵,vis是访问标记数组,low是最短距离数组 */ int n; int prim() {vis[1] = 1;int sum = 0;int pos, minn;pos = 1;for(int i = 1; i <= n; i++){low[i] = m[pos][i];}/*先把第一个点放到树里,然后找到剩下的点到这个点的距离*/for(int i = 1; i < n; i++)//循环遍历 n-1 次数,把点全部加入!{minn = INF;for(int j = 1; j <= n; j++){if(!vis[j] && minn > low[j]) //没有进树的节点,并且这个节点到树里面 点距离最近,拉进来{minn = low[j];pos = j;}}sum += minn;vis[pos] = 1;for(int j = 1; j <= n; j++){if(!vis[j] && low[j] > m[pos][j])//用新加入的点,更新low值{low[j] = m[pos][j];}}}return sum; } void init() {memset(vis,0,sizeof(vis));memset(low,0,sizeof(low));for(int i = 1; i <= n ;i++ )for(int j = 1; j <= n; j++)m[i][j] = INF; } void in_map() {printf("输入邻接矩阵阶:\n");scanf("%d",&n);printf("输入邻接矩阵,无穷用 -1代表!\n");int t;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){scanf("%d",&t);m[i][j] = (t==-1?INF:t);} } int main() {init();in_map();printf("%d",prim()); }
转载于:https://www.cnblogs.com/zpf1/p/9070776.html
给定有权无向图的邻接矩阵如下,求其最小生成树的总权重,代码。相关推荐
- java求最小生成树的权重_给定有权无向图的邻接矩阵如下,求其最小生成树的总权重,代码。...
#include using namespace std; #define INF 0x3f3f3f3f const int maxn = 117; int m[maxn][maxn]; int vi ...
- 基于C++的带权无向图的实现 (三)- Prim最小生成树算法
该系列文章是本人整理的有关带权无向图的数据结构和算法的分析与实现,若要查看源码可以访问我的github仓库,如有问题或者建议欢迎各位指出. 目录 基于C++的带权无向图的实现 (一)- 数据结构 基于 ...
- Java数据结构与算法:无向图,有向图,带权图,图的遍历,最小生成树
文章目录 无向图 有向图 带权图 图的遍历 广度优先遍历 深度优先遍历 最小生成树 无向图 前面了解到树是有单一根结点的非线性结构,图(graph)也是一种非线性结构,其中的结点可以与许多其他的结点相 ...
- 邻接矩阵中啥时候写0和无穷_带权有向图的邻接矩阵中0和无穷大
信息举报 时间:2020-12-23 本页为您甄选多篇描写带权有向图的邻接矩阵中0和无穷大,带权有向图的邻接矩阵中0和无穷大精选,带权有向图的邻接矩阵中0和无穷大大全,有议论,叙事 ,想象等形式.文章 ...
- 无向图的邻接矩阵存储,4个顶点、4条边
// // main.cpp // Graph_wuxiang // // Created by duanqibo on 2019/6/29. // Copyright © 2019年 dua ...
- 数据结构—无向图创建邻接矩阵、深度优先遍历和广度优先遍历(C语言版)
无向图创建邻接矩阵.深度优先遍历和广度优先遍历 一.概念解析: (1)无向图: (2)邻接矩阵: 二.创建邻接矩阵: 三.深度遍历.广度遍历 (1)深度遍历概念: (2)广度遍历概念: 四.实例展示 ...
- 图的建立、遍历及其应用(设图结点的元素类型为char,建立一个不少于8个顶点的带权无向图G,实现以下图的各种基本操作的程序)
实验目的:通过实验达到: ⑴ 理解和掌握图的基本概念.基本逻辑结构: ⑵ 理解和掌握图的邻接矩阵存储结构.邻接链表存储结构: ⑶ 理解和掌握图的DFS.BFS遍历操作的思想及其实现: ⑷ 加深对堆栈. ...
- 给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值。
给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值.要求时间复杂度为O(n),且要求不能用非基于比较的排序. 首先,这个问题明显限制了不能使用直接排序的方式求解.因为基于比较的排序时间复杂度最 ...
- 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径。设计算法,将一个无向图的邻接矩阵转换为邻接表。
采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径.设计算法,将一个无向图的邻接矩阵转换为邻接表. 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径. 设计算法,将一个无向图的邻 ...
最新文章
- 学习 Git 玩转 GitHub
- 从“上云”到“云管理”,中国首个多云管理平台评估标准有何妙处
- Qt 4.3 公布揭晓
- c++ doxygen 注释规范_[代码规范]Go语言编码规范指导
- 简单的FTP应用程序
- 计算机组成原理左规右规,计算机组成原理 第四章(严军勇)-2003-2012年.ppt
- 使用JFreeChart实现基于Web的柱状图
- 只谈Network,不谈Social,互联网营销
- 如何正确地逛Github?
- 【新书推荐】【2020】卫星通信(第三版)
- 如何查询Windows XP 系统是多少位的
- 网线不要离笔记本电源适配器太近
- Office application 版本
- 7月4-5日TokenSky东京站100+明星嘉宾齐聚东京!
- Android 切割图片
- dwc3_gadget_get_link_state
- 搭建自已的turn服务器
- springboot基于微信小程序的电器商城系统的设计与实现毕业设计源码251453
- 新版标准日本语初级_第四十二课
- 庆阳顺盛铝合金模板CAD系统
热门文章
- java memcache 队列_基于memcache的java分布式队列实现。
- flex 平铺布局_flex布局及各种布局的总结
- Hex hsl 转换 php,关于 RGB,HEX,HSL 颜色相互转换
- 山东自考c语言程序设计停考了吗,2018山东自考停考专业有哪些
- C学习杂记(七)extern声明可省略变量类型
- Duilib编辑框Edit输入完自动跳到下一个编辑框
- 看雪 2016CrackMe 攻防大赛 - 1-Crack_Me-凉飕飕
- nfc/nfc模式_NFC的完整形式是什么?
- Java BigInteger类| modInverse()方法与示例
- JavaScript中带有示例的Math.log10()方法