Dynamic set intersection

From MaRDI portal




Abstract: Consider the problem of maintaining a family F of dynamic sets subject to insertions, deletions, and set-intersection reporting queries: given S,SinF, report every member of ScapS 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(fracdw/log2w) expected time, and updates in O(logw) expected time. Using this algorithm we can list all t triangles of a graph G=(V,E) in O(m+fracmalphaw/log2w+t) expected time, where m=|E| and alpha is the arboricity of G. This improves a 30-year old triangle enumeration algorithm of Chiba and Nishizeki running in O(malpha) time. We provide an incremental data structure on F that supports intersection {em witness} queries, where we only need to find {em one} einScapS. Both queries and insertions take OparensqrtfracNw/log2w expected time, where N=sumSinF|S|. Finally, we provide time/space tradeoffs for the fully dynamic set intersection reporting problem. Using M words of space, each update costs O(sqrtMlogN) expected time, each reporting query costs O(fracNsqrtlogNsqrtMsqrtop+1) expected time where op is the size of the output, and each witness query costs O(fracNsqrtlogNsqrtM+logN) expected time.











This page was built for publication: Dynamic set intersection

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q3449844)