2021-8-10学习笔记

上午9点~12点

写项目

下午3点~5点30

找博客,查找相似项目博客,借鉴并参考

晚上7点~9点30

刷落下的题,重新学习并查集,并查集:

  • 定义:
    并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。

  • 主要构成:
    并查集主要由一个整型数组pre[ ]和两个函数find( )、join( )构成。
    数组 pre[ ] 记录了每个点的前驱节点是谁,函数 find(x) 用于查找指定节点 x 属于哪个集合,函数 join(x,y) 用于合并两个节点 x 和 y 。

  • 作用:
    并查集的主要作用是求连通分支数

  • find函数的定义与实现:就是用来查找头头的

int find(int x){
	if(pre[x] == x)
	return x;
	else return pre[x] = find(pre[x]);
	}
  • jion函数的定义与实现:加入,认老大的
if(fx != fy)  
	pre[fx]=fy;
  • 总结:用集合中的某个元素来代表这个集合,则该元素称为此集合的代表元;
    一个集合内的所有元素组织成以代表元为根的树形结构;
    对于每一个元素 x,pre[x] 存放 x 在树形结构中的父亲节点(如果 x 是根节点,则令pre[x] = x);
    对于查找操作,假设需要确定 x 所在的的集合,也就是确定集合的代表元。可以沿着pre[x]不断在树形结构中向上移动,直到到达根节点。
    因此,基于这样的特性,并查集的主要用途有以下两点:
    维护无向图的连通性(判断两个点是否在同一连通块内,或增加一条边后是否会产生环);
    用在求解最小生成树的Kruskal算法里。

晚上9点30~10点

每日总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值