当前位置: 首页 > news >正文

代码随想录算法训练营DAY60|并查集理论基础、寻找存在的路径

并查集理论基础

  • 并查集主要有两个功能:
    • 将两个元素添加到一个集合中。
    • 判断两个元素在不在同一个集合
  • 复杂度分析
    • 空间复杂度: O(n) ,申请一个father数组。
    • 路径压缩后的并查集时间复杂度在O(logn)与O(1)之间,且随着查询或者合并操作的增加,时间复杂度会越来越趋于O(1)。
    • 在第一次查询的时候,相当于是n叉树上从叶子节点到根节点的查询过程,时间复杂度是logn,但路径压缩后,后面的查询操作都是O(1),而 join 函数 和 isSame函数 里涉及的查询操作也是一样的过程。

寻找存在的路径

def init():for i in range(n):father[i]=idef find(x):return x if x==father[x] else find(father[x])def join(x,y):x=find(x)y=find(y)if x==y: returnfather[x]=ydef isSame(x,y):x=find(x)y=find(y)return True if x==y else Falseif __name__=='__main__':n,m = map(int, input().split())father = [0]*ninit()for _ in range(m):a,b = map(int, input().split())join(a-1,b-1)s,d = map(int,input().split())if isSame(s-1,d-1):print(1)else:print(0)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 攻防世界(PHP过滤器过滤)file_include
  • html+css+js随机验证码
  • 文学式开发工具 Jupyter Notebook
  • 设计模式探索:观察者模式
  • vue draggable组件,拖拽元素时,获取元素上在data或setup中定义的数据
  • 【matlab】随机森林客户流失预测
  • Java之网络面试经典题(一)
  • hcip暑假第二次作业
  • Elasticsearch 更新指定字段
  • C++类和对象(一)
  • C++ 定时器触发
  • 苹果电脑可以玩魔兽世界吗 魔兽世界有mac版本么 macbook 可以玩魔兽世界吗
  • Codeforces Round 957 (Div. 3)(A~E题解)
  • Flutter【组件】标签
  • 【数据结构】初探数据结构面纱:栈和队列全面剖析
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Angular4 模板式表单用法以及验证
  • crontab执行失败的多种原因
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • oldjun 检测网站的经验
  • OSS Web直传 (文件图片)
  • Python爬虫--- 1.3 BS4库的解析器
  • React-redux的原理以及使用
  • React的组件模式
  • Service Worker
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 技术:超级实用的电脑小技巧
  • 将 Measurements 和 Units 应用到物理学
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 人脸识别最新开发经验demo
  • 在electron中实现跨域请求,无需更改服务器端设置
  • Android开发者必备:推荐一款助力开发的开源APP
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​VRRP 虚拟路由冗余协议(华为)
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #HarmonyOS:Web组件的使用
  • #QT(串口助手-界面)
  • (+4)2.2UML建模图
  • (C++17) optional的使用
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (zhuan) 一些RL的文献(及笔记)
  • (编译到47%失败)to be deleted
  • (三)uboot源码分析
  • (四)linux文件内容查看
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)从 Java 代码到 Java 堆
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Core 中的路径问题
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
  • .NET下的多线程编程—1-线程机制概述
  • .Net中ListT 泛型转成DataTable、DataSet