但在实施时,它们似乎具有许多相同的特性和行为。
不相交集中的每个元素都可以被认为是图中的一个顶点。图中的边表示 Union-Find 中的集合。
在查看http://algs4.cs.princeton.edu/15uf/和http://algs4.cs.princeton.edu/42digraph/
我相信两者都可以回答以下问题:
- 这两个元素/顶点是否连接?
- 有循环吗?
那么我没有看到的两者之间有更大的区别吗?我什么时候应该选择使用其中一种?
我看到图形算法可以在内部使用 Union-Find 结构 http://algs4.cs.princeton.edu/43mst/KruskalMST.java.html
一个实现细节,但如果联合查找更快,为什么要使用深度优先搜索来测试循环?http://algs4.cs.princeton.edu/44sp/DirectedCycle.java.html