普林斯顿公开课 算法1-7:并查集基本概念

本篇讲述了并查集的基本概念及算法开发步骤,包括如何数学建模、寻找解决问题的算法,以及算法的运行分析。并查集问题涉及两种操作:合并与查找,常用于处理各种类型物体的连接关系,如像素、计算机网络等。该算法的目标是在大量对象和操作中高效地进行查找和合并操作。
摘要由CSDN通过智能技术生成

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


算法的开发步骤


  1. 对问题进行数学建模

  2. 寻找一个能够解决问题的算法

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

  4. 如果达不到要求,找出原因

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

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


以上就是算法开发比较科学的方法。算法开发完成之后需要进行数学分析。


并查集问题


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


应用中的物体类型


实际应用中,并查集算法可以支持各种各样的物体类型,比如:

  • 图片中的像素

  • 网络中的计算机

  • 社交网络中的用户

  • 计算机芯片中的晶体管

  • 数学集合中的元素

  • 程序中的变量名称

  • 化合物中的金属离子


实际应用中,为了避免无关因素的干扰,通常需要将具体的物体进行编号,在计算的时候只需要对整数进行操作即可。


连接的性质


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

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

  • 对称性:如果p连接q,q也连接p

  • 传递性:如果p连接q,q连接r,那么p也连接r


连接部件


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


下图展示了连接部件:



操作


并查集提供两种操作:

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

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


目标


并查集算法需要实现以下目标:

  • 对象的数量N可以非常大

  • 操作次数M可以非常大

  • 查找和合并两种操作可以随意调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值