最小生成树

本文详细介绍了两种最小生成树算法:Prim算法和Kruskal算法。Prim算法通过逐步添加权值最小的边,将顶点加入生成树;Kruskal算法则是先对所有边按权值排序,然后选择不形成环的最小边加入。两种算法各有特点,适用于不同的场景。
摘要由CSDN通过智能技术生成

数据结构——最小生成树


题目
在这里插入图片描述

1.prim算法

prim算法的基本原理

  1. 设置两个集合,U集合中的元素是在生成树中的结点, V-U集合中的元素不是生成树中的图顶点。
  2. 首先选择一个作为生成树根节点的顶点,并将它放到U集合中。
  3. 而另一端顶点在V-U集合中找到一条权值最小的点,与之前的点连成一条边,放入生成树中
  4. 随后,将该顶点放入到U集合中。

我的思路:
1.可以将U理解为放入到生成树中的顶点,而V-U是未放入的。

V-U集合:{0,1,2,3,4,5}
U集合:{ }

	#include <stdio.h>
	#define MAX 10
	#define M 32767

2.将零放在U中,然后分别标记出V-U中点与零的权重关系

1 2 3 4 5 V-U集合 U集合 生成树的边 边的权重
closest(用来保存依附于U中的顶点) 0 0 0 0 0 {1,2,3,4,5} {0}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值