zoukankan      html  css  js  c++  java
  • 数据结构与算法之并查集的精简要点总结

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

    实现

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

    性能

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

    任世事无常,勿忘初心
  • 相关阅读:
    2101 可达性统计
    POJ1179 Polygon
    POJ1015 Jury Compromise
    读入输出优化
    队列优化dijsktra(SPFA)的玄学优化
    5104 I-country
    CH5102 Mobile Service
    P1005 矩阵取数游戏
    (模板)线段树2
    POJ3666 Making the Grade
  • 原文地址:https://www.cnblogs.com/FlameBlog/p/14715363.html
Copyright © 2011-2022 走看看