以后打算用这个博客作为平台,记录自己的一些东西,希望自己在这两年半的时间有一些成长。
public int primeValue(int[][] a, int n) {
int sum = 0;
int[] lowcost = new int[n + 1];//边的最小值
int[] closest = new int[n + 1];//存储最近节点
boolean[] visit = new boolean[n + 1];
visit[1] = true;//visit为true则说明该节点已经被访问
for(int i = 2; i <= n; i++) {
lowcost[i] = a[1][i];
closest[i] = 1;
visit[i] = false;
}
for(int i = 1; i < n; i++) {
int min = Integer.MAX_VALUE;
int j = 1;
for (int k = 2; k <= n; k++)
if ((lowcost[k] < min) && (!visit[k])) {
min = lowcost[k];
j = k;
}
sum += min;//累加最小生成树的边权值s
visit[j] = true;
for(int k = 2; k <= n; k++) {
if (a[j][k] < lowcost[k] && !visit[k]) {
lowcost[k] = a[j][k];
closest[k] = j;
}
}
}
return sum;
}
分享到:
相关推荐
根据给定的文件信息,本篇内容将围绕“数据结构实验报告9-图-Prim算法求最小生成树”展开,具体涉及的知识点包括Prim算法的基本原理及其应用、图的邻接矩阵存储结构的设计与实现、最小生成树的概念及求解过程、以及...
//最小生成树的kruskal的算法 #include "stdafx.h" #include #include #include using namespace std; //int maxint=mar_maxint; class BinaryTree; class EdgeNode//边的数据结构 { private: int u,v;//边所在的...
最小生成树的prime算法(MATLAB)
输入数据: 7 11 A B 7 A D 5 B C 8 B D 9 B E 7 C E 5 D E 15 D F 6 E F 8 E G 9 F G 11 输出: A - D : 5 D - F : 6 A - B : 7 B - E : 7 E - C : 5 E - G : 9 Total:39
基于邻接矩阵存储的图的最小生成树的Prime算法,对学习C++和数据结构很有帮助
Prime 算法写的一个最小生成树的C++程序
数据结构上最小生成树的prime算法,源代码是用c语言实现的,易于大家的理解。
总之,通过研究这个C#实现的普里姆算法,你不仅能深入理解最小生成树的概念,还能掌握如何用C#编写图算法,这对于进一步学习图论、数据结构以及算法优化都有极大的帮助。同时,这也是提升你的编程技能和问题解决能力...
在提供的压缩包中,`prime-tree.cpp`很可能是一个C++程序,实现了普鲁姆算法来生成最小生成树。这个程序可能包含了数据结构的定义,如邻接矩阵或邻接表,以及算法的具体逻辑。而`www.pudn.com.txt`可能是源代码的...
代码可能包括定义图、实现Prime算法逻辑以及输出最小生成树的函数。通过运行这个脚本,用户可以生成随机网络,然后找到并打印出最小生成树的边。 需要注意的是,虽然标签中提到了"C#",但这里讨论的内容主要与...
Prim算法是一种贪心算法,它从一个起始节点开始,逐步构建最小生成树,每次添加一条与已选节点集合形成最小权值边的边。步骤如下: 1. 选择一个起始节点,将其加入最小生成树。 2. 找到当前未被包含在最小生成树中...
前置知识:最小生成树名词概念、最小生成树--Prime算法的基本概念、邻接矩阵基本概念 重点:书中P174 中 图 7.16 与 图 7.17 极其重要,代码中的注释和举例都是基于它们要充分理解 代码阅读与调试 代码调试时间...
Prim算法是求解最小生成树的一种经典算法,由Vojtěch Jarník、Karl Menger和Joseph Kruskal等人独立提出,但以Ernesto Prim的名字最为人所知。 Prim算法的基本思想是从图中任意一个节点开始,逐步添加边,使得...
普里姆(Prim)算法是图论中的一个经典算法,用于在加权无向图中找到一棵连接所有顶点的最小生成树。最小生成树是一棵包含图中所有顶点的树,其边的权重之和尽可能小。这个算法特别适用于解决网络连接问题,如城市之间...
在提供的代码片段中,可以看出作者用C++实现了Kruskal算法来寻找加权无向图的最小生成树。接下来将详细介绍各个部分的功能与实现细节。 #### 数据结构定义 1. **ArcCell 结构体**: 定义了边的信息。 ```cpp ...
连通网的最小生成树的prime和Kruskal算法,完整的测试代码,包括图的基本操作代码(详见:http://download.csdn.net/detail/u013071074/7445893),包括两组测试数据。 prime和Kruskal算法介绍详见博文:...
(1)分别利用 Kriuskal 算法和 Prime 求网的最小生成树。 (2)实现教科书中定义的抽象数据类型,以此表示构造生成树过程中的连通分量。 (3)以图和文本两种形式输出生成树中各条边以及他们的权值。
通过以上分析可以看出,所提供的代码示例主要实现了 Prim 算法用于构建最小生成树的过程。该算法适用于寻找无向图中的最小生成树问题,在网络设计等领域有着广泛的应用。理解 Prim 算法的核心思想及其具体实现细节...