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

LeetCode 路径压缩优化题解

LeetCode 路径压缩优化题解

题目描述

解释并实现带路径压缩的并查集。

解题思路

方法:路径压缩

思路

  • 在 find 操作时,将路径上的所有节点的父节点直接指向根节点。
  • 这样可以加速后续的查询操作。

复杂度分析

  • 时间复杂度:O(α(n)),α 是反阿克曼函数。
  • 空间复杂度:O(n)。

代码实现

class UnionFind: def __init__(self, n): self.parent = list(range(n)) self.rank = [0] * n def find(self, x): if self.parent[x] != x: self.parent[x] = self.find(self.parent[x]) return self.parent[x] def union(self, x, y): px, py = self.find(x), self.find(y) if px == py: return if self.rank[px] < self.rank[py]: px, py = py, px self.parent[py] = px if self.rank[px] == self.rank[py]: self.rank[px] += 1 # 测试 def test_union_find(): uf = UnionFind(5) uf.union(0, 1) uf.union(1, 2) uf.union(3, 4) print(uf.find(2)) # 输出:0 print(uf.find(4)) # 输出:3 if __name__ == "__main__": test_union_find()

总结

路径压缩是并查集的重要优化,在 find 操作时将路径上的所有节点指向根节点。

http://www.jsqmd.com/news/805031/

相关文章:

  • Amphenol ICC RJE1Y13C05152401工业线束解析与选型替代思路
  • 【Autoware】从零到一:手把手教你搭建自动驾驶开发环境
  • 别再手动画ROI了!Halcon中write_region/read_region实现区域复用与项目配置管理
  • linux学习进展 守护进程
  • 长期使用Taotoken Token Plan套餐带来的成本控制感受
  • Midjourney Fresco提示词工程实战手册(Fresco专属Prompt公式库v2.3)
  • 【紧急更新】DeepSeek v2.5垂直搜索API重大变更预警:3类兼容性陷阱+2种平滑迁移路径(含自动检测脚本)
  • AutoDock Vina终极指南:为什么它是分子对接的首选工具?
  • BG3ModManager完整使用指南:告别游戏崩溃与模组失效的终极解决方案
  • 厚街厂房装修哪家值得推荐:秒杀厂房装修实力出众 - 13425704091
  • Cursor Pro 终极破解指南:如何永久免费使用AI编程神器
  • 3个关键步骤:掌握TigerVNC远程桌面连接全攻略
  • 软件工程-②需求工程
  • 没有资源、没有背景,《凰标》凭什么代表民间?@凤凰标志
  • 厚街办公室装修哪家值得推荐:秒杀办公室装修口碑好 - 17329971652
  • 终极指南:用Shortkeys浏览器扩展彻底改造你的键盘操作效率
  • 6G无线基础设施能效革命:射频光子集成与AI原生控制
  • AI大模型学习路线(非常详细)收藏这一篇就够了!AI大模型学习路线图全解析!速成AI大神
  • 为Gemini CLI打造图形化界面:提升AI编程效率的实战指南
  • Clean Code不是理想主义!DeepSeek生产环境数据证实:每减少1行冗余代码,MTTR下降3.8%
  • WarcraftHelper:魔兽争霸3终极增强插件,让经典游戏焕发新生
  • 厚街绿植租赁哪家值得推荐:秒杀绿植租赁服务好 - 19120507004
  • 5分钟掌握暗黑3技能连点器:D3KeyHelper完整使用指南
  • 如何将安全文件夹传输到新手机[最新指南]
  • 2026年4月拌和站生产厂家推荐,二手移动搅拌站/混凝土拌合站/拌和站/沥青搅拌站/二手搅拌站,拌和站生产厂家怎么选购 - 品牌推荐师
  • Kindle电子书封面修复终极指南:3步解决封面不显示问题
  • RAO 深度解读:当 Agent 学会递归调用自己——推理时扩展的新范式
  • LRC歌词批量下载工具:如何为离线音乐库一键添加完美同步歌词
  • 贝卡尼上饶整木定制工厂:硬核生产实力全维度解析 - 奔跑123
  • 嵌入式计算机视觉:从传感器到产品落地的系统工程实践