关于其他数据类型使用并查集的疑问

来源:11-7 更多和并查集相关的话题

PerryMore

2018-11-05

波波老师,并查集中一直都是介绍两个int型数据是否为一个分组或者合并两个int型数据的操作。我的问题如下:

  1. 如果需要操作的数据为其他类型的数据,比如说,自定义的student学生类那将如何进行?是在初始化学生这个数组的时候,同时初始化并查集这个类,这样就自动的让当前的学生数组和并查集里的parent数组一一对应起来。然后同样只是操作并查集这个类就行了,是吗?
  2. 如果如上,find和union函数的参数是不是可以理解成数据源数组的索引?
写回答

1回答

liuyubobobo

2018-11-06

你的理解非常正确!对于其他数据类型,可以理解成并查集只是在操作索引:)


查看A学生和B学生是否在一个集合,只需要看uf.isConnected(A_ID, B_ID),

将C和D合并在一起,只需要调用uf.union(C_ID, D_ID)


要看A学生的具体信息,或者B学生的具体信息?查看students[A_ID],students[B_ID]:)


继续加油!:)

0
5
liuyubobobo
回复
PerryMore
谢谢你的提醒:)已经修改:)
2018-11-23
共5条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程