Recently, i am studying the data structure of Partition Refinement. It is an useful technique to partition set. The main application of the technique is as follows:
Q \textbf{Q} Q: Given two sets S S S and X X X, how to find S ∩ X S \cap X S∩X and S ∖ X S \setminus X S∖X?
A general idea is that itemize each element x ∈ X x \in X x∈X and test whether x ∈ S x \in S x∈S. Obviously, the running time is O ( ∣ S ∣ ⋅ ∣ X ∣ ) O(|S| \cdot |X|) O(∣S∣⋅∣X∣). But the running time is not good. Is there a beautiful algorithm which has better complexity? Fortunately, we can solve the problem in O ( ∣ X ∣ ) O(|X|) O(∣X∣) using Partition Refinement technique. In the following, i will describe the data structure of Partition Refinement and design an algorithm to solve the above problem. There are other applications, e.g., LBFS, the connected components of G ‾ \overline{G} G and so on.



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



