zoukankan      html  css  js  c++  java
  • 普林斯顿公开课 算法1-7:并查集基本概念

    本节讲的是并查集的基本概念。


    算法的开发步骤


    1. 对问题进行数学建模

    2. 寻找一个可以解决这个问题的算法

    3. 执行算法检測速度和内存是否符合要求

    4. 假设达不到要求。找出原因

    5. 寻找一种方法来解决这个问题

    6. 循环步骤,直到惬意为止


    以上就是算法开发比較科学的方法。

    算法开发完毕之后须要进行数学分析。


    并查集问题


    给定N个物体。能够提供两种操作,一种是合并操作。一种是查找操作。合并操作就是将两个节点进行连接,查找操作就是推断两个节点是否连接在一起。


    应用中的物体类型


    实际应用中,并查集算法能够支持各种各样的物体类型,比方:

    • 图片中的像素

    • 网络中的计算机

    • 社交网络中的用户

    • 计算机芯片中的晶体管

    • 数学集合中的元素

    • 程序中的变量名称

    • 化合物中的金属离子


    实际应用中,为了避免无关因素的干扰,通常须要将详细的物体进行编号,在计算的时候仅仅须要对整数进行操作就可以。


    连接的性质


    节点之间的连接具有三种性质:

    • 反射性:每一个节点和自己总是相连的

    • 对称性:假设p连接q,q也连接p

    • 传递性:假设p连接q,q连接r,那么p也连接r


    连接部件


    概念:相连的节点所组成的集合。


    下图展示了连接部件:



    操作


    并查集提供两种操作:

    • 查找操作:检測两个节点是否相连

    • 合并操作:将两个节点进行连接


    目标


    并查集算法须要实现下面目标:

    • 对象的数量N能够很大

    • 操作次数M能够很大

    • 查找和合并两种操作能够任意调用

  • 相关阅读:
    20210805-接口测试实战(持续更新中···)
    2021-07-06:关于自动化测试
    学习记录-更新时间-2021-04-09
    知识点@解决端口被占用的问题
    PS学习笔记
    JS去掉数组中重复的数
    验证码倒计时
    统计数组中出现最多的字母及次数
    验证码倒计时js
    小兔鲜css
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5115568.html
Copyright © 2011-2022 走看看