请注意,这不是家庭作业问题。我正在对 Kattis 进行培训,我遇到了一个需要使用 Union-Find 范式的问题。鉴于问题的性质,我决定实现自己的 UnionFind 数据结构。我了解我的 DS 接口应支持:
- 制作集
- find(elem) -> 返回对该集合代表的引用
- merge(firstElem, secondElem) -> 合并该集合的两个父节点(同时确保它是平衡的)
现在的问题是我没有实现这个数据结构来支持整数,它通常使用一个数组来实现,其中索引是值,集合的代表总是该索引处的值。相反,我的集合包含字符串,我发现选择数据结构有困难。