Dynamic Set Intersection
Abstract
Consider the problem of maintaining a family F of dynamic sets subject to insertions, deletions, and set-intersection reporting queries: given S,S'∈ F, report every member of S S' in any order. We show that in the word RAM model, where w is the word size, given a cap d on the maximum size of any set, we can support set intersection queries in O(dw/2 w) expected time, and updates in O( w) expected time. Using this algorithm we can list all t triangles of a graph G=(V,E) in O(m+mαw/2 w +t) expected time, where m=|E| and α is the arboricity of G. This improves a 30-year old triangle enumeration algorithm of Chiba and Nishizeki running in O(m α) time. We provide an incremental data structure on F that supports intersection witness queries, where we only need to find one e∈ S S'. Both queries and insertions take O Nw/2 w expected time, where N=ΣS∈ F |S|. Finally, we provide time/space tradeoffs for the fully dynamic set intersection reporting problem. Using M words of space, each update costs O( M N) expected time, each reporting query costs O(N N Mop+1) expected time where op is the size of the output, and each witness query costs O(N N M + N) expected time.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.