Abstract

In this paper we study the problem of answering connectivity queries about a \emph{graph timeline}. A graph timeline is a sequence of undirected graphs G1,…,GtG_1,\ldots,G_t on a common set of vertices of size nn 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)(u,v,a,b) -- does the path u→vu\to v exist in each of Ga,…,GbG_a,\ldots,G_b? - exists(u,v,a,b)(u,v,a,b) -- does the path u→vu\to v exist in any of Ga,…,GbG_a,\ldots,G_b? - forall2(u,v,a,b)(u,v,a,b) -- do there exist two edge-disjoint paths connecting uu and vv in each of Ga,…,GbG_a,\ldots,G_b We show data structures that can answer forall and forall2 queries in O(log⁡n)O(\log n) time after preprocessing in O(m+tlog⁡n)O(m+t\log n) time. Here by mm 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+min⁡(nt,t2−α)),O(tα)⟩\langle O(m+\min(nt, t^{2-α})), O(t^α)\rangle and show a matching conditional lower bound.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.