并查集基础
一、概念及其介绍
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。
并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,就能确定它在哪个集合里。
二、适用说明
并查集用在一些有 N 个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这个过程看似并不复杂,但数据量极大,若用其他的数据结构来描述的话,往往在空间上过大,计算机无法承受,也无法在短时间内计算出结果,所以只能用并查集来处理。
三、并查集的基本数据表示

如上图 0-4 下面都是 0,5-9 下面都是 1,表示 0、1、2、3、4 这五个元素是相连接的,5、6、7、8、9 这五个元素是相连的。

再如上图 0、2、4、6、8 下面都是 0 这个集合,表示 0、2、4、6、8 这五个元素是相连接的,1、3、5、7、9 下面都是 1 这个集合,表示 0,1、3、5、7、9 这五个元素是相连的。
构造一个类 UnionFind,初始化, 每一个id[i]指向自己, 没有合并的元素:
...
public UnionFind1(int n) {count = n;id = new int[n];// 初始化, 每一个id[i]指向自己, 没有合并的元素for (int i = 0; i < n; i++)id[i] = i;}
...
Java 实例代码
UnionFind.java 文件代码:
package runoob.union;public class UnionFind{private int[] id;// 数据个数private int count;public UnionFind1(int n) {count = n;id = new int[n];for (int i = 0; i < n; i++)id[i] = i;}} 相关文章:
并查集基础
一、概念及其介绍 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根…...
C# 循环等知识点
《1》程序:事先写好的指令(代码) using 准备工具 namespace 模块名称 { class 子模块{ static void main()//具体事项 { 代码 } } } 《2》变量:内存里的一块空间,用来存储数据常用的有小数,整数,…...
1.1.2 SpringCloud 版本问题
目录 版本标识 版本类型 查看对应版本 版本兼容的权威——官网: 具体的版本匹配支持信息可以查看 总结 在将Spring Cloud集成到Spring Boot项目中时,确保选择正确的Spring Cloud版本和兼容性是非常重要的。由于Spring Cloud存在多个版本,因此…...
Android AIDL 使用
工程目录图 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 代码:LearnAIDL代码:AIDLClient. 参考文献 安卓开发学习之AIDL的使用android进阶-AIDL的基本使用Android AIDL 使用使用 AIDL …...
MongoDB——命令详解
db.fruit.remove({name:apple})//删除a为apple的记录db.fruit.remove({})//删除所有的记录db.fruit.remove()//报错 MongoDB使用及命令大全(一)_mongodb 删除命令_言不及行yyds的博客-CSDN博客...
机器学习深度学习——多层感知机的简洁实现
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——多层感知机的从零开始实现 📚订阅专栏:机器学习&&深度学习 希望文章对你…...
笙默考试管理系统-MyExamTest(21)
笙默考试管理系统-MyExamTest(21) 目录 一、 笙默考试管理系统-MyExamTest 二、 笙默考试管理系统-MyExamTest 三、 笙默考试管理系统-MyExamTest 四、 笙默考试管理系统-MyExamTest 五、 笙默考试管理系统-MyExamTest 六、 笙默考试管理系统…...
Redis高可用之主从复制、哨兵、cluster集群
一、Redis主从复制1.1 Redis主从复制的概念1.2 Redis主从复制作用1.3 主从复制流程1.4 搭建 Redis 主从复制 二、Redis哨兵模式2.1 概述2.2 哨兵模式原理2.3 哨兵模式的作用2.4 哨兵结构2.5 故障转移机制2.6 主节点的选举2.7 搭建Redis 哨兵模式 三、Redis 群集模式3.1 概述3.2…...
【需求响应DR】一种新的需求响应机制DR-VCG研究(Python代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【Django学习】(十六)session_token认证过程与区别_响应定制
一、认识session与token 这里就直接引用别人的文章,不做过多说明 网络应用中session和token本质是一样的吗,有什么区别? - 知乎 二、token响应定制 在全局配置表中配置 DEFAULT_AUTHENTICATION_CLASSES: [# 指定jwt Token认证rest_framew…...
ai创作系统CHATGPT支持GPT4.0+支持ai绘画(MJ)+ai绘画(SD)集合几百种AI智能工具
生成的AI绘画 非常的奈斯 包括GPT...
linux安装mysql
linux快速安装mysql 安装之前检测系统是否有自带的MySQL #检查是否安装过MySQL rpm -qa | grep mysql #检查是否存在 mariadb 数据库(内置的MySQL数据库),有则强制删除 rpm -qa | grep mariadb #强制删除 rpm -e --nodeps mariadb-libs-5.5…...
mysql主从复制原理及应用
一、主从复制简介 MySQL主从复制是一种异步、基于日志的、单向的数据库复制技术,它通过在主服务器上启用二进制日志并将其发送给一个或多个从服务器,实现了从服务器与主服务器之间的数据同步。主服务器将所有的数据库操作记录到二进制日志中,…...
《Kubernetes故障篇:unable to retrieve OCI runtime error》
一、背景信息 1、环境信息如下: 操作系统K8S版本containerd版本Centos7.6v1.24.12v1.6.12 2、报错信息如下: Warning FailedCreatePodSandBox 106s (x39 over 10m) kubelet (combined from similar events): Failed to create pod sandbox: rpc error: …...
el-upload上传图片和视频,支持预览和删除
话不多说, 直接上代码: 视图层: <div class"contentDetail"><div class"contentItem"><div style"margin-top:5px;" class"label csAttachment">客服上传图片:</div><el…...
clickhouse MPPDB数据库 运维实用SQL总结III
文章目录 CH问题处理使用remote函数报URL "xxxx:9000" is not allowed in configuration fileclickhouse MPPDB数据库 运维实用SQL总结 clickhouse MPPDB数据库 运维实用SQL总结II clickhouse MPPDB数据库 运维实用SQL总结III CH server相关的配置参见 : clickhous…...
ARM和MIPS的区别
ARM和MIPS的区别主要有以下几方面: 指令集:ARM支持32位和64位指令,而MIPS同时支持32位和64位指令。除法器:MIPS有专门的除法器,可以执行除法指令,而ARM没有。寄存器:MIPS的内核寄存器比ARM多一…...
TypeScript -- 类
文章目录 TypeScript -- 类TS -- 类的概念创建一个简单的ts类继承 public / private / protected-- 公共/私有/受保护的public -- 公共private -- 私有的protected -- 受保护的 其他特性readonly -- 只读属性静态属性 -- static修饰ts的getter /setter抽象类abstract TypeScrip…...
【LeetCode】124.二叉树中的最大路径和
题目 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &…...
Linux命令总结
1.目录相关命令 绝对路径: 如/etc/init.d当前目录和上层目录: ./ …/主目录: ~/切换目录: c 2.进程相关命令 查看当前进程: ps ps -ef(system v 输出)ps -aux bsd 格式输出ps -ef|grep pid 执…...
5分钟掌握Subfinder:自动化字幕下载的终极解决方案
5分钟掌握Subfinder:自动化字幕下载的终极解决方案 【免费下载链接】subfinder 字幕查找器 项目地址: https://gitcode.com/gh_mirrors/subfi/subfinder 面对海量影视资源却苦于找不到合适字幕?Subfinder字幕查找器正是为解决这一痛点而生。这款开…...
明日方舟智能基建管理终极指南:Arknights-Mower 完整使用教程
明日方舟智能基建管理终极指南:Arknights-Mower 完整使用教程 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 还在为《明日方舟》每日繁琐的基建操作而烦恼吗?Arknights-M…...
Java类与对象:编程核心解密
好的,我们来详细解释一下Java中的类和对象这两个核心概念。1. 类 (Class)定义:类是一个模板或蓝图。它定义了某一类“事物”的共同特征(属性)和行为(方法)。作用:类描述了该种“事物”具有哪些信…...
RISC-V架构革命:从服务器到汽车电子的开放生态与定制化实践
1. 项目概述:一场架构革命的序章 最近几年,如果你关注处理器和芯片设计,有一个词的出现频率会越来越高:RISC-V。它不再仅仅是学术论文里的概念,也不再是极客圈子里的玩具。从云端的数据中心服务器,到我们每…...
3个12位ADC+17个定时器+摄像头接口:STM32F207IGT6的电机控制与机器视觉资源
STM32F207IGT6:176引脚工业级MCU的连接性与性能解析在工业自动化、电机控制以及物联网网关等应用中,MCU的性能不仅取决于主频,更取决于内部总线架构对瓶颈的突破。STM32F207IGT6是意法半导体STM32F2系列中的大容量型号,采用2424mm…...
ChocolateyGUI 社区贡献指南:如何参与开源项目开发与维护
ChocolateyGUI 社区贡献指南:如何参与开源项目开发与维护 【免费下载链接】ChocolateyGUI A delicious GUI for Chocolatey 项目地址: https://gitcode.com/gh_mirrors/ch/ChocolateyGUI ChocolateyGUI 是一款为 Windows 包管理器 Chocolatey 设计的图形用户…...
AltStore技术深度解析:非越狱iOS侧载方案实战指南
AltStore技术深度解析:非越狱iOS侧载方案实战指南 【免费下载链接】AltStore AltStore is an alternative app store for non-jailbroken iOS devices. 项目地址: https://gitcode.com/gh_mirrors/al/AltStore 在iOS生态系统中,应用分发一直受到A…...
【项目自荐】Agent System Prompt Architect v0.1:让 AI Agent 更稳定地编写系统提示词的 Skill
Agent System Prompt Architect v0.1:让 AI Agent 更稳定地编写系统提示词的 SkillGitHub: https://github.com/CR-730/agent-system-prompt-architect-skill项目简介Agent System Prompt Architect 是一个面向 Codex / Claude Code 风格环境的 Skill&am…...
企业AI合规:数据安全生死线
企业大模型应用中的数据安全合规体系建设 前言:数据安全合规——企业AI落地的必答题 一、合规风险识别与关键挑战 二、技术架构设计与安全合规方案 针对上述四大风险挑战,企业需要从技术架构层面构建纵深防御体系。以下从数据脱敏、访问控制、日志审计、…...
从‘乱码’到‘可读’:我是如何用LayoutLMv3和Tesseract拯救一份无法复制的PDF合同的
从‘乱码’到‘可读’:我是如何用LayoutLMv3和Tesseract拯救一份无法复制的PDF合同的 那天下午,法务部的同事急匆匆地推开了我的办公室门,手里拿着一份标着"紧急"的PDF合同。"这份合同扫描件里的文字全都无法选中,…...
