首页 > 代码库 > 普林斯顿公开课 算法1-7:并查集基本概念
普林斯顿公开课 算法1-7:并查集基本概念
本节讲的是并查集的基本概念。
算法的开发步骤
对问题进行数学建模
寻找一个能够解决问题的算法
运行算法检测速度和内存是否符合要求
如果达不到要求,找出原因
寻找一种方法来解决问题
循环步骤,直到满意为止
以上就是算法开发比较科学的方法。算法开发完成之后需要进行数学分析。
并查集问题
给定N个物体,可以提供两种操作,一种是合并操作,一种是查找操作。合并操作就是将两个节点进行连接,查找操作就是判断两个节点是否连接在一起。
应用中的物体类型
实际应用中,并查集算法可以支持各种各样的物体类型,比如:
图片中的像素
网络中的计算机
社交网络中的用户
计算机芯片中的晶体管
数学集合中的元素
程序中的变量名称
化合物中的金属离子
实际应用中,为了避免无关因素的干扰,通常需要将具体的物体进行编号,在计算的时候只需要对整数进行操作即可。
连接的性质
节点之间的连接具有三种性质:
反射性:每个节点和自己总是相连的
对称性:如果p连接q,q也连接p
传递性:如果p连接q,q连接r,那么p也连接r
连接部件
概念:相连的节点所组成的集合。
下图展示了连接部件:
操作
并查集提供两种操作:
查找操作:检测两个节点是否相连
合并操作:将两个节点进行连接
目标
并查集算法需要实现以下目标:
对象的数量N可以非常大
操作次数M可以非常大
查找和合并两种操作可以随意调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。