并查集-连通性问题

简介: 连通性问题比如随意给你两个点,让你判断它们是否连通?或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。以下面这组数据输入数据来说明 4 2 1 3 4 3 第一行告诉你,一共有4个点,2条路。

 

连通性问题

比如随意给你两个点,让你判断它们是否连通?或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。

以下面这组数据输入数据来说明 4 2 1 3 4 3 

第一行告诉你,一共有4个点,2条路。下面两行告诉你,1、3之间有条路,4、3之间有条路。那么整幅图就被分成了1-3-4和2两部分。只要再加一条路,把2和其他任意一个点连起来,就都连通了,那么这个这组数据的输出结果就是1(个相互独立的块)。

并查集

并查集由一个整数型的数组和两个函数构成。数组pre[]记录了每个点的前导点是什么,函数find是查找,join是合并。

  1. 数组下标是当前点的号码,值是前导点的号码,如果值和下标一样代表自己是根。
  2. 查找是找根用的,直到找到值和下标一样的根位置
  3. 合并就是在两个根之间修改其中一个根的值为另一个根的下标或者值。

路径压缩算法:最理想的情况就是所有点的前导点都是相同的根,一共就是两级结构。做法就是在查找时找到根之后把自身的值修改成根的下标。

 

目录
相关文章
|
传感器 监控 API
基于STM32的智能灌溉系统设计与实现
基于STM32的智能灌溉系统设计与实现
1167 1
|
9月前
|
Arthas 监控 Java
记一次内存利用率问题排查
记一次内存利用率问题排查
|
11月前
|
机器学习/深度学习 人工智能 算法
UCLA、MIT数学家推翻39年经典数学猜想!AI证明卡在99.99%,人类最终证伪
近日,加州大学洛杉矶分校和麻省理工学院的数学家团队成功推翻了存在39年的“上下铺猜想”(Bunkbed Conjecture),该猜想由1985年提出,涉及图论中顶点路径问题。尽管AI在研究中发挥了重要作用,但最终未能完成证明。人类数学家通过深入分析与创新思维,找到了推翻猜想的关键证据,展示了人类智慧在数学证明中的不可替代性。成果发表于arXiv,引发了关于AI在数学领域作用的广泛讨论。
357 89
|
9月前
|
人工智能 Anolis
活动推荐:2025 RISC-V 生态大会将在北京召开,龙蜥受邀参展
一同探讨行业趋势及合作契机,齐心共筑 RISC-V 的“芯”未来。
|
11月前
|
数据采集 自然语言处理 数据处理
智源研究院发布中文高质量数据集CCI3.0-HQ技术报告
智源研究院发布了CCI3.0-HQ中文预训练数据集,采用先进的混合质量过滤方法,显著提升数据完整性和性能。该数据集在多项实验中表现优异,超越了其他主流中文语料库。同时,智源还推出了CCI3-HQ分类器,大幅改进了大语言模型训练中的数据选择流程。
431 12
智源研究院发布中文高质量数据集CCI3.0-HQ技术报告
|
10月前
|
数据采集 XML API
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
|
11月前
|
人工智能 JSON 自然语言处理
智能化AI工具-语言翻译与本地化
在全球化发展的背景下,语言翻译与本地化需求日益增长。无论是跨境电商、国际合作,还是本地化应用开发,都需要高效、准确的翻译解决方案。阿里云通义千问作为一款强大的大语言模型,不仅具备出色的自然语言理解能力,还能够在多语言翻译和本地化场景中发挥重要作用。本博客将详细介绍如何基于阿里云通义千问开发语言翻译与本地化工具,包括产品介绍、程序代码以及阿里云相关产品的具体使用流程。
491 10
|
11月前
|
负载均衡 算法 Linux
深入探索Linux内核调度机制:公平与效率的平衡####
本文旨在剖析Linux操作系统内核中的进程调度机制,特别是其如何通过CFS(完全公平调度器)算法实现多任务环境下资源分配的公平性与系统响应速度之间的微妙平衡。不同于传统摘要的概览性质,本文摘要将直接聚焦于CFS的核心原理、设计目标及面临的挑战,为读者揭开Linux高效调度的秘密。 ####
237 3
|
消息中间件 存储 编解码
带你读《云原生架构白皮书2022新版》——网易云音乐曲库研发负责人谈音视频算法的 Serverless 探索之路
带你读《云原生架构白皮书2022新版》——网易云音乐曲库研发负责人谈音视频算法的 Serverless 探索之路
905 95
|
算法 自动驾驶 物联网
解读蜂窝网络中的频谱共享技术
解读蜂窝网络中的频谱共享技术
556 5