`
人生难得糊涂
  • 浏览: 117364 次
社区版块
存档分类
最新评论

poj1258--数据结构prim算法

 
阅读更多

此题就是prim算法模板

直接给代码、

#include "iostream"
using namespace  std;
#define MAXSIZE 102
int map[MAXSIZE][MAXSIZE];
int vis[MAXSIZE];
int temp[MAXSIZE];
int main()
{
	int n;
	while (scanf("%d",&n)!=EOF)
	{
		int  ans=0;
		int i,j;
		for (i=0;i<n;i++)
		{
			for (j=0;j<n;j++)
			{
				scanf("%d",&map[i][j]);
			}
		}

		memset(vis,0,sizeof(vis));
		for (j=0;j<n;j++)
		{
			temp[j]=9000010;
		}
		i=0;
		for (j=0;j<n;j++)
		{
			if (map[i][j]!=0)
				if (map[i][j]<temp[j])
				{
					temp[j]=map[i][j];
				}
		}
		vis[0]=1;
		while (i<n-1)
		{
			
			//找最小的边
			int min=9000010;
			int minindex=0;
			for (j=0;j<n;j++)
			{
				if (vis[j]==1)
				{
					continue;
				}
				if (min>temp[j])
				{
					min=temp[j];
					minindex=j;
				}
			}
			
			
			//把最小的边的顶点加入集合 
			vis[minindex]=1;
			
			//更新temp
			for (j=0;j<n;j++)
			{
				if (map[minindex][j]!=0&&vis[j]!=1)
					if (map[minindex][j]<temp[j])
					{
						temp[j]=map[minindex][j];
					}
			}
			
			
			ans+=min;
			i++;
			
			
		}
		printf("%d\n",ans);

	}
	
	return 0;	
}

/*
6 
0 6 1 5 0 0
6 0 5 0 3 0
1 5 0 5 6 4
5 0 5 0 0 2
0 3 6 0 0 6
0 0 4 2 6 0
*/

 

1
0
分享到:
评论

相关推荐

    POJ1258-Agri-Net【Prim】

    总的来说,解决POJ1258-Agri-Net问题不仅要求掌握图论和Prim算法,还需要有良好的编程实践,包括数据结构的选择和优化技巧。通过深入研究提供的资源,我们可以增进对这些问题解决策略的理解,并提高自己在类似问题上...

    POJ2031-Building a Space Station【Prim+计算几何】

    此外,可能还需要优化算法以适应大数据集,例如使用合适的数据结构(如KD树或平面分割)加速邻接模块的查找。 代码文件"POJ2031-Building a Space Station【Prim+计算几何】.cpp"应包含了用C++实现的算法,而"POJ...

    POJ 1751 求最小生成树prim算法(JAVA)

    标题 "POJ 1751 求最小生成树Prim算法(JAVA)" 提到的是一个编程挑战,涉及图论中的经典算法——Prim算法。在计算机科学中,Prim算法是用于寻找加权无向图的最小生成树的一种有效方法。最小生成树是一棵树形结构,...

    北大POJ初级-基本算法

    5. **贪心算法**:对于一些局部最优的选择可以导致全局最优解的问题,如霍夫曼编码、Prim算法和Kruskal算法等。 6. **图论算法**:包括图的遍历(深度优先搜索和广度优先搜索)、最短路径问题(Dijkstra算法、Floyd...

    北大POJ初级-图算法

    在计算机科学中,图算法是用于解决与图数据结构相关问题的算法。图由顶点和连接顶点的边组成,可以用来表示各种复杂的关系。以下是一些核心的图算法及其在解题中的应用: 1. **深度优先搜索(DFS, Depth-First ...

    POJ 分类题目

    通过上述分类,我们可以看到 POJ 题目涵盖了算法与数据结构的多个方面,对于初学者来说是一份非常好的学习资料。掌握这些知识点不仅有助于提高解决问题的能力,也能为后续深入学习打下坚实的基础。

    POJ2531-Network Saboteur

    6. **数据结构**:C++代码中可能使用了数组、链表、队列或堆栈等数据结构来存储和操作图的信息。 7. **动态规划**:在某些情况下,动态规划可能被用来优化解决问题的效率,特别是当问题具有重叠子问题和最优子结构...

    ACM题目分类.txt

    - **描述**:最小生成树算法包括Prim算法和Kruskal算法。 - **应用场景**:构建连接所有顶点且权重最小的生成树。 - **相关题目**: - POJ 1789 - POJ 2485 - POJ 1258 - POJ 3026 #### 3. 流网络算法 - **描述...

    北大POJ中级-基本算法

    6. 数组与链表:数据结构基础,理解和熟练操作数组和链表是解决算法问题的前提。 二、解题策略与AC代码分析 在POJ的中级算法中,我们通常会遇到以下类型的题目: 1. **数学问题**:例如,质因数分解、数列求和、模...

    POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类

    - **解释**:最小生成树算法主要包括Prim算法和Kruskal算法。 ##### (4) 拓扑排序 - **例题**:poj1094 - **解释**:拓扑排序是对有向无环图的一种排序方式,可以用来解决依赖关系的问题。 ##### (5) 匹配算法 - *...

    POJ算法题目分类

    * 串:串是指解决问题的基本数据结构,如 poj1035、poj3080、poj1936。 * 排序:排序是指解决问题的排序算法,如快排、归并排、堆排。 * 简单并查集:简单并查集是指解决问题的简单并查集算法。 * 哈希表和二分查找...

    acm新手刷题攻略之poj

    ### ACM新手刷题攻略之POJ ... - 推荐题目:[poj1789](https://vjudge.net/problem/POJ-1789)、[poj2485](https://vjudge.net/problem/POJ-2485)、[poj1258](https://vjudge.net/problem/POJ-1258)、[poj3026]...

    POJ 1789 最小生成树之prim算法

    标题中的“POJ 1789 最小生成树之prim算法”指的是一个在线编程竞赛题目,来源于普林斯顿开放在线课程(POJ)平台。该题目要求参赛者实现Prim算法,这是一种解决图论问题中寻找最小生成树的经典算法。最小生成树是在...

    算法训练方案详解

    - **定义**: 包括Prim算法和Kruskal算法。 - **应用场景**: Prim适用于稠密图,Kruskal适用于稀疏图。 - **示例题目**: POJ 1789, POJ 2485, POJ 1258, POJ 3026 - **注意事项**: 理解两种算法的核心思想和实现...

    POJ 3000-3700中的近100题AC代码

    - `3632`:可能是图的遍历(深度优先搜索DFS或广度优先搜索BFS)问题,或者是最小生成树(Kruskal's或Prim's算法)、最短路径(Dijkstra或Floyd算法)等。 3. **字符串处理**(String Manipulation): - `3682`...

    poj训练计划.doc

    - 最小生成树算法:如Prim算法和Kruskal算法,用于找出图中的最小生成树,如`poj1789, poj2485`。 - 拓扑排序:适用于有向无环图,用于确定任务的执行顺序,如`poj1094`。 - 二分图的最大匹配:如匈牙利算法,...

    ACM 新手指南 PKU 题目分类

    - **最小生成树**:主要算法有普里姆算法(Prim)和克鲁斯卡尔算法(Kruskal),用于求解无向图中的最小生成树。 - 示例题目:POJ 1789, POJ 2485, POJ 1258, POJ 3026 - **网络流**:涉及到最大流、最小割等问题,...

    ACM-POJ 算法训练指南

    2. **最小生成树**:Prim算法和Kruskal算法,用于构建图的最小生成树(poj1789, poj2485, poj1258, poj3026)。 3. **网络流**:Max-flow算法,用于解决最大流问题(poj1094)。 4. **拓扑排序**:解决有向无环图的...

    poj 图论 集合

    - **解法概述**:这道题的关键在于理解题目要求,以及如何有效地利用数据结构和算法解决问题。题目要求构造一个特定的图,并计算出特定的值。 - **关键点**:需要特别注意题目中的限制条件和要求,以便快速准确地...

    ACM 题型

    - **Prim算法**:适用于密集图。 - 示例题目:poj1789, poj2485, poj1258, poj3026 - **Kruskal算法**:适用于稀疏图。 - 示例题目:poj1789, poj2485, poj1258, poj3026 3. **流网络** - 示例题目:poj1094 ...

Global site tag (gtag.js) - Google Analytics