码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构与算法之并查集的精简要点总结

时间:2021-04-29 12:09:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:决定   复杂   连接   算法   是否一致   性能   父节点   效率   时间   

并查集主要用于解决连接问题,其基本思想是为每一个数据都打上标签,当标签一致时则为一个集合。但是考虑到求并集的时候的效率问题,这里采用树形结构解决该问题,简单来说就是利用两个节点的根节点是否一致作为是否为一个集合的标志。

实现

  1. 查找:为防止该数据结构退化为链表,在每次查找过程中,选择进行路径压缩,使该节点指向该节点的父节点的父节点。查找的结果则返回该节点所在子树的根节点。
  2. 合并:合并过程为了保证该数据结构的高效性,通过该所在子树的总层数决定哪个根节点(层数少的)为子节点,哪个根节点仍为根节点。
  3. 查询是否连接:判断两个节点的查找结果是否一致即可。

性能

理论上时间复杂度近乎为O(1)。

数据结构与算法之并查集的精简要点总结

标签:决定   复杂   连接   算法   是否一致   性能   父节点   效率   时间   

原文地址:https://www.cnblogs.com/FlameBlog/p/14715363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!