最小生成树详解(破圈法,kruskal,prim)

本文介绍了最小生成树的概念,包括图和树的定义,以及带权无向连通图的最小生成树。讲解了破圈法、Kruskal(克鲁斯卡尔)算法和Prim(普里姆)算法的原理和适用场景,强调了算法在实际问题中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

好的编程是要爬上抽象的阶梯才能到达最通用的解决方案

        如这句话所言,最小生成树其实是一个相对比较抽象的概念,它是针对于图的概念,因为树是一种特殊的图,下面将详细讲解最小生成树的概念及三种求最小生成树的方法,思路都十分简单。

目录

前言

目录

正文

---最小生成树的概念

---破圈法

---kruskal(克鲁斯卡尔)

---prim(普里姆)

例题

T1.最小生成树


正文

---最小生成树的概念

        首先,要了解最小生成树,我们知道什么是图和树,如上文所说的,树是一种特殊的图,所以,此处我们先来看图的概念。

        先来看严格定义:

        图是由顶点的有穷非空集合V ( G ) 和顶点之间边的集合E ( G ) 组成,通常表示为: G = ( V , E ) ,其中,G表示个图,V是图G中顶点的集合,E是图G中边的集合。若V = { v 1 , v 2 , . . . , v n } ,则用∣ V ∣表示图G 中顶点的个数,也称图G的阶,E = { ( u , v ) ∣ u ∈ V , v ∈ V } ,用∣ E ∣表示图G 中边的条数。

        看起来是不是很复杂,其实如果简单的来说,就是在一堆顶点之间连边,根据图的种类的不同,图也有很多不同的形式,一般来说,根据边的不同来分类有如下几类(可以结合图片理解):(但要特别注意,图不能是空的)

1.有向图(即边有方向意义的图)

2.无向图(即边无方向意义的图,也可以理解为双向)

3.带权图(即边有权值的图)

4.连通图(即所有点相连的图)

5.强连通图(本身是有向图且是连通图)

        而在最小生成树中,最重要的其实是第三种,带权图,但是在了解最小生成树之前,我们要先了解什么是树。

        定义很简单:

        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值