Fast and simple connectivity in graph timelines
Abstract
In this paper we study the problem of answering connectivity queries about a graph timeline. A graph timeline is a sequence of undirected graphs G1,…,Gt on a common set of vertices of size n such that each graph is obtained from the previous one by an addition or a deletion of a single edge. We present data structures, which preprocess the timeline and can answer the following queries: - forall(u,v,a,b) -- does the path u v exist in each of Ga,…,Gb? - exists(u,v,a,b) -- does the path u v exist in any of Ga,…,Gb? - forall2(u,v,a,b) -- do there exist two edge-disjoint paths connecting u and v in each of Ga,…,Gb We show data structures that can answer forall and forall2 queries in O( n) time after preprocessing in O(m+t n) time. Here by m we denote the number of edges that remain unchanged in each graph of the timeline. For the case of exists queries, we show how to extend an existing data structure to obtain a preprocessing/query trade-off of O(m+(nt, t2-α)), O(tα) and show a matching conditional lower bound.
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.