2

Are there any enhanced Disjoint-sets algorithm for really big data (such as more than 2^32 elements and more than 2^32 pair to union)?

Obviously the biggest problem is that I cannot make such a large array, so I'm wondering if there is a better algorithm or better data structure to accomplish my task?

Michael Petrotta
  • 59,888
  • 27
  • 145
  • 179
huangcd
  • 2,369
  • 3
  • 18
  • 26

1 Answers1

1

One way to deal with really big data is to run the thing in external memory. http://terrain.cs.duke.edu/pubs/union-find.pdf (I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis) contains both a theoretical algorithm, consisting of a fairly complex sequence of calls to other batched algorithms, and (Section 3) a self-contained recursive algorithm which is not as asymptotically efficient, but looks as if it might be practical.

mcdowella
  • 19,301
  • 2
  • 19
  • 25