图论专项菜鸡入门(三):树的初步入门+最小生成树

本文是图论学习系列的第三篇,主要介绍树的基本概念以及无向图如何构造最小生成树,适合初学者入门。

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

今天是集训第二部分的第二天,继续搞图论,树理解多少写多少==然后一直补充吧==原谅我毕竟我是个菜鸡

一.树

树,简单来讲,树就是任意两个顶点间有且只有一条路径(只要没有回路连通图就是树).不同于现实中的树的地方就是,它是倒着来的,也就是说,它的根节点在上,而叶什么的依次向下展开.

二.无向图的最小生成树

最小生成树实现有两种算法:Prim算法和Kruskal算法
个人感觉,Prim算法难理解但是好实现,Kruskal算法利用贪心的思想很容易理解但是写代码的时候需要用到并查集.看个人还有结合具体题目进行选择
1.Prim算法
简单一点来说算法步骤就是
a.在一个图中,我们先任意选择一点作为起始点
b.通过这个点,找到与她相邻的边,选择一条最小的边进行相连,将两点相连
c.再次以两点为基础,找到他俩距离最短的边,再将这个点相连
d.重复此步骤,直到所有的点都连在了一起,将所有的权值相加则为最小生成树
2.Kruskal算法
这个算法则是利用了贪心的思想
我们现将所有的权值按从小到大排序
然后我们从小的边开始遍历,如果将这条边加入进去,不会连成一个环,则就能生成树
然后 一个一个来直到所有的点都连起来还不成一个环,就能得到最小生成树 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值