作业帮 > 综合 > 作业

最小生成树设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法.存储结构采用多种.求解算法多种.说实话

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 20:00:30
最小生成树
设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法.存储结构采用多种.求解算法多种.
说实话,不知道该选哪个.
晕哟,都运行不出来
最小生成树算法.可以用PRIM算法.你简单看看
普里姆(Prim)算法
(1)算法思想 通过每次添加一个新节点加入集合,直到所有点加入停止的最小生成树的算法
原理:每次连出该集合到其他所有点的最短边保证生成树的边权总和最小
1. 首先随便选一个点加入集合
2. 用该点的所有边去刷新到其他点的最短路
3. 找出最短路中最短的一条连接(且该点未被加入集合)
4. 用该点去刷新到其他点的最短路
5 重复以上操作n-1次
6 最小生成树的代价就是连接的所有边的权值之和
void MiniSpanTree_P( MGraph G, VertexType u )
{
//用普里姆算法从顶点u出发构造网G的最小生成树
k = LocateVex ( G, u );
for ( j=0; j