TZOJ 5471: 数据结构实验--图的最小代价生成树

题目描述

求带权无向图的最小代价生成树。

输入

输入数据为多组,每组数据包含多行,第一行为2个整数n,e,n为图的顶点数,e为边数,接下来是e行,每行3个整数,前两个整数是一个顶点对,代表一条边所依附的两个顶点,第3个整数是边的权值。

所有值不超过20。

输出

请使用prim算法生成一棵生成树,并输出为生成树的各条边及其权值。格式见样例。

样例输入

5 7
1 2 1
1 3 1
2 3 4
2 4 2
2 5 1
3 4 5
4 5 6

样例输出

1 2 1
1 3 1
2 5 1
2 4 2

PS:太惭愧了,写了半天,输出的顺序就是不对,还是看了能人之后才发现自己错在哪里,明天附上代码及解说(大佬如有更好见解或发现不对之处,欢迎评论,其为数据结构小白在线答题)

原文地址:https://www.cnblogs.com/lenka-lyw/p/10897221.html

时间: 2024-10-08 20:40:14

TZOJ 5471: 数据结构实验--图的最小代价生成树的相关文章

实验六 最小代价生成树

实验名称:最小代价生成树 实验章节:算法设计与分析第6章 实验目的: 掌握贪心算法解决问题的思想和一般过程,           学会使用普里姆算法解决实际问题. 提交形式: 所有作业的原程序和可执行程序(即cpp文件和exe文件) 纸质实验报告(格式和内容请参阅末页) 实验内容 完善下列程序,并回答问题. 1 #include<iostream.h> 2 3 #define G_NODE_NUM 6 //结点个数 4 5 #define INFTY 65535 6 7 template<

最小代价生成树(数据结构)

1 //最小代价生成树 2 //prim算法(稠密图):从与这棵树相连的边中选择最短的边,并将这条边及其所连顶点接入当前树中 3 void Prim(MGraph g,int v0,int &sum) { 4 int lowcost[maxsize],visit[maxsize],v;//lowcost存放当前树到其他顶点的最小权值的顶点 5 int min,k; 6 v=v0; 7 for(int i=0; i<g.n; i++) { 8 lowcost[i]=g.edges[v0][i]

[数据结构] 最小(代价)生成树

在说明最小生成树之前,先重温一下其他的几个概念. 连通图:任意两个顶点都有路径相通的无向图,称为连通图.(注意不是边,而是路径) 强连通图:任意两个顶点都有路径相通的有向图,称为强连通图. 网:图的边具有一定的意义,每条边都对应着一个数据,称为权,这种图被称为网. 连通网,同理. 最小生成树 生成树:从一个连通图中拆出一棵连通子图,它包含了所有的顶点,但只保留了足以构成一棵树的边(N-1条边,N为顶点个数). 最小生成树:对于连通网而言的,所有边的代价之和最小(权的总和最小)的生成树,就是最小生

最小代价生成树

#include<iostream> using namespace std; const int Max = 100; int p[Max][Max]; const int maxCost = 99; int lowcost[Max]; int nearest[Max]; bool mark[Max]; void Prime(int k,int n) { memset(lowcost, 99, sizeof(lowcost)); memset(nearest, -1, sizeof(near

1130. 叶值的最小代价生成树

1.dp 1 int mctFromLeafValues(vector<int>& arr) { 2 int len = arr.size(); 3 vector<vector<int>> rmq(len, vector<int>(len, 0)); 4 for (int i = 0; i < len; i++) 5 rmq[i][0] = arr[i]; 6 for (int j = 1; (1<<j)<len ; j++)

图论-最短路-dijkstra / 0-1BFS-使网格图至少有一条有效路径的最小代价

2020-03-01 22:59:59 问题描述: 给你一个 m x n 的网格图 grid . grid 中每个格子都有一个数字,对应着从该格子出发下一步走的方向. grid[i][j] 中的数字可能为以下几种情况: 1 ,下一步往右走,也就是你会从 grid[i][j] 走到 grid[i][j + 1] 2 ,下一步往左走,也就是你会从 grid[i][j] 走到 grid[i][j - 1] 3 ,下一步往下走,也就是你会从 grid[i][j] 走到 grid[i + 1][j] 4 

SDUT 2498 数据结构实验之图论十一:AOE网上的关键路径

数据结构实验之图论十一:AOE网上的关键路径 Time Limit: 2000 ms Memory Limit: 65536 KiB Problem Description 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图.    AOE(Activity On Edge)网:顾名思义,用边表示活动的网,当然它也是DAG.与AOV不同,活动都表示在了边上,如下图所示:                                         如上所示

SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点的同层邻接点,节点编号小的优先遍历) Input 输入第一行为整数n(0< n <100),表示数据的组数.对于每组数据,第一行是三个整数k,m,t(0<

数据结构实验之图论二:基于邻接表的广度优先搜索遍历

数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点的同层邻接点,节点编号小的优先遍历) 输入 输入第一行为整数n(0< n <100),表示数据的组数. 对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,