c语言版本的最小生成树(Prim算法)概述

1、Prim算法概述:图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。

 2、最小生成树:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。

3、重点部分代码段实现 

//prim算法生成最小生成树
void MiniSpanTree_Prim(MGraph G){

	int min,i,j,k;
	int adjvex[MAXVEX]; //保存相关顶点下标
	int lowcost[MAXVEX];//保存相关顶点间的权值
	lowcost[0] = 0;     //v0作为最小生成树的根开始遍历,权值为0
	adjvex[0] = 0;		//V0第一个加入

	//初始化操作
	for(int i = 1;i

 

你可能感兴趣的:(算法)