Un algorithme de test pour la connexité temporelle des graphes dynamiques de faible densité

We address the problem of testing whether a dynamic graph is temporally connected, i.e. a temporal path ({\em journey}) exists between all pairs of vertices. We consider a discrete version of the problem, where the topology is given as an evolving graph $\G=\{G_1,G_2,...,G_{k}\}$ in which only the set of (directed) edges varies. Two cases are studied, depending on whether a single edge or an unlimited number of edges can be crossed in a same $G_i$ (strict journeys {\it vs} non-strict journeys). For strict journeys, two existing algorithms designed for other problems can be adapted. However, we show that a dedicated approach achieves a better time complexity than one of these two algorithms in all cases, and than the other one for those graphs whose density is low at any time (though arbitrary over time). The time complexity of our algorithm is $O(k\mu n)$, where $k=|\G|$ is the number of time steps and $\mu=max(|E_i|)$ is the maximum {\em instant} density, to be contrasted with $m=|\cup E_i|$, the {\em cumulated} density. Indeed, it is not uncommon for a mobility scenario to satisfy, for instance, both $\mu=o(n)$ and $m=\Theta(n^2)$. We characterize the key values of $k, \mu$ and $m$ for which our algorithm should be used. For non-strict journeys, for which no algorithm is known, we show that a similar strategy can be used to answer the question, still in $O(k\mu n)$ time.