数据结构之图---最小生成树Prim算法---C++实现

本文详细介绍了如何使用C++实现Prim算法求解无向图的最小生成树。首先阐述了Prim算法的基本思想,接着从边的描述、图的描述到算法的具体调用过程进行了详细的讲解,并分析了算法的每一步操作。通过邻接矩阵表示图,从一个起始节点开始,逐步添加权值最小的边到生成树中,直到所有节点都被包含。
摘要由CSDN通过智能技术生成

一、需求图Prim算法最小生成树

无向图中点与点之间,边上的数字表示权值。

二、实现Prim算法最小生成树

1.边的描述

定义边的对象时应有以下属性:这条边连接两端的点(nodeIndexA,nodeIndexB),边的权值,以及这条边是否被选中

//Edge.h
#ifndef _EDGE_H_
#define _EDGE_H_
class Edge{
public:
	Edge(int nodeIndexA = 0, int nodeIndexB = 0, int weightValue = 0);
	int m_iNodeIndexA;
	int m_iNodeIndexB;
	int m_iWeightValue;
	bool m_bSelected;
};

#endif

//Edge.cpp
#include "Edge.h"

Edge::Edge(int nodeIndexA, int nodeIndexB, int weightValue){
	m_iNodeIndexA = nodeIndexA;
	m_iNodeIndexB = nodeIndexB;
	m_iWeightValue = weightValue;
	m_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值