在前几篇文章当中,我们已经讨论了许多有关数论的知识点了,因此 Macw 决定写几篇数据结构的文章缓一缓。(整天写数论相关的内容容易自闭(bushi))。
今天我们将会围绕一个新的数据结构,并查集(Disjoint Set Union)来展开。
集合与集合的常见操作
在谈论到并查集的时候,首先讨论一个前置知识点,即 集合(Set)的概念。集合是一种无序且不重复的元素集,用数学可以表示为 S = { a , b , c , … } S = \{a, b, c, \dots\} S={ a,b,c,…},其中 S S S 是这个集合的名字, a , b , c a, b, c a,b,c 等就是这个集合中的元素。
集合的应用非常的广泛。举一个大家生活中都比较熟悉的例子,运动会报名人数统计。假设目前有两个集合,分别表示参加篮球比赛的选手和参加羽毛球比赛的选手,写作:
B a s k e t b a l l = { Alice , Bob , Cindy , Richard , Tom , Fred } |参加篮球比赛的选手 Basketball = \{\text{Alice}, \text{Bob}, \text{Cindy}, \text{Richard}, \text{Tom}, \text{Fred}\} | \text{参加篮球比赛的选手} Basketball={
Alice,Bob,Cindy,Richard,Tom,Fred}|参加篮球比赛的选手。
B a d m i n t o n = { Vincent , Cindy , Tom , Richard , Selina , Hans } ∣ 参加羽毛球比赛的选手 Badminton = \{\text{Vincent}, \text{Cindy}, \text{Tom}, \text{Richard}, \text{Selina}, \text{Hans}\} | \text{参加羽毛球比赛的选手} Badminton={
Vincent

1263

被折叠的 条评论
为什么被折叠?



