并查集知识点学习

文章目录

  • [1. 并查集的两个操作](#1. 并查集的两个操作)
  • [2. 代码操作](#2. 代码操作)

1. 并查集的两个操作

对于并查集的两个操作,也就是 FindUnion操作,它们两个作用分别是。

  1. Find:查询元素属于哪个集合(找根节点);
  2. Union:合并两个元素所属的集合

针对于Find操作,只需要找当前元素cur_index的父节点p[cur_index]值是否等于cur_index,如果等于,说明这是一个根节点,也就是说找到想要的结果值了;如果不等的话,那么就一直找,直到找到为止;

针对Union操作,也就是合并操作,只需要修改两个集合任意根节点的指向即可;

2. 代码操作

初始状态下,由于各个节点之间不存在任何关系,因此,每个节点都可以把它当作为根节点看待,Python代码初始化如下:

python 复制代码
p = list(range(n)) # n为节点的个数

对于Find和Union操作,其参考代码如下:

python 复制代码
def Find(x):
	if p[x] == x:
		return x
	return Find(p[x])

# 改进
def Find(x):
	if p[x] == x:
		return x
	return p[x] = Find(p[x])

def Union(x,y):
	rootx,rooty = Find(x),Find(y)
	if rootx != rooty:
		p[rootx] = rooty 

这里具体可以参考这个视频。。。并查集

相关推荐
AI360labs_atyun2 小时前
GPT-5.5 和 DeepSeek V4同期发布,谁更行?
人工智能·gpt·学习·ai·agi
承渊政道2 小时前
【动态规划算法】(简单多状态dp问题入门与经典题型解析)
数据结构·c++·学习·算法·leetcode·macos·动态规划
Aliex_git2 小时前
Nuxt 学习笔记(二)
前端·笔记·学习
勤劳的进取家2 小时前
SSH配置
运维·网络·学习
三品吉他手会点灯2 小时前
C语言学习笔记 - 17.C编程预备计算机专业知识 - 数据类型
c语言·笔记·学习
噜噜噜阿鲁~2 小时前
python学习笔记 | 7.4、高级特性-生成器
笔记·python·学习
胡图图不糊涂^_^2 小时前
网络原理笔记
java·网络·笔记·学习·tcp/ip·http·https
stm32 菜鸟3 小时前
nucleo-f411re学习记录-4,定时器TIM2实现延时功能
学习
小仙女的小稀罕3 小时前
适合高校在读研究生听学术讲座的视频学习记录方法
人工智能·学习