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

*算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径

刷题记录

  • *并查集理论基础
  • 107. 寻找存在的路径

*并查集理论基础

讲解

107. 寻找存在的路径

题目地址

直接套模板。
结点编号从1开始,因此定义father数组时需要n+1个空间,否则会越界。

时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)

// c++
#include<bits/stdc++.h>
using namespace std;// 初始化
void init(vector<int> &father){for(int i=0; i<father.size(); i++) father[i] = i;
}
// 查找所在并查集的根节点
int find(vector<int> &father, int u){if(u == father[u]) return u;return father[u] = find(father, father[u]);// return father[u];
}
// 判断两节点是否在同一并查集
bool isSame(vector<int> &father, int u, int v){u = find(father, u);v = find(father, v);return u == v;
}// 把v加入u
void join(vector<int> &father, int u, int v){u = find(father, u);v = find(father, v);if(u == v) return;father[v] = u;
}int main(){int n, m, s, t, src, des;cin>>n>>m;vector<int> father(n+1, 0);init(father);for(int i=0; i<m; i++){cin>>s>>t;join(father, s, t);}cin>>src>>des;cout<<isSame(father, src, des);return 0;
}

相关文章:

  • 从理论到实践网络编程模型:(BIO、NIO、AIO)同步与异步模型的原理与应用 (五)
  • shell脚本编程实践(五)
  • 刷完Armbian的盒子后根目录空间太小解决方案
  • 高阶数据结构——LRU Cache
  • pod详解 list-watch机制 预选优选策略 如何指定节点调度pod
  • 10.1 使用ansible部署 redis-exporter
  • Python 机器学习求解 PDE 学习项目 基础知识(3)matplotlib 画函数热图
  • 十六、【Python】基础教程 - 【Flask】网络编程开发
  • SpringBoot可以同时处理多少请求?
  • WHAT - xmlhttprequest vs fetch vs wretch
  • YOLO系列:从yolov1至yolov8的进阶之路 持续更新中
  • 【数据结构】队列,你必须知道的内部原理!!!
  • 大数据Flink(一百零九):阿里云Flink的基本名称概念
  • 保障速度与安全合规的前提下,如何传文件到国外?
  • 【解压既玩】PS3模拟器v0.0.32+战神3+战神升天+各存档 整合包 ,完美不死机,没有BUG,旷世神作,强力推荐
  • Angular Elements 及其运作原理
  • input的行数自动增减
  • isset在php5.6-和php7.0+的一些差异
  • java中具有继承关系的类及其对象初始化顺序
  • js如何打印object对象
  • mysql常用命令汇总
  • Promise面试题,控制异步流程
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • tweak 支持第三方库
  • 给第三方使用接口的 URL 签名实现
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 关于Flux,Vuex,Redux的思考
  • 近期前端发展计划
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通信类
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #pragma data_seg 共享数据区(转)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Java数据结构)ArrayList
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • ******之网络***——物理***
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net core 连接数据库,通过数据库生成Modell
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET处理HTTP请求
  • .NET多线程执行函数
  • .NET企业级应用架构设计系列之应用服务器
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET值类型变量“活”在哪?
  • //TODO 注释的作用
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @EnableAsync和@Async开始异步任务支持