Editors: Piotr Faliszewski, Anca Muscholl, and Rolf Niedermeier; Article No. 56

Frank Kammer, Dieter Kratsch, Moritz Laudahn
14 Leibniz International Proceedings in Informatics Schloss Dagstuhl-Leibniz-Zentrum für Informatik   unpublished
We present space-efficient algorithms for computing cut vertices in a given graph with n vertices and m edges in linear time using O(n + min{m, n log log n}) bits. With the same time and using O(n + m) bits, we can compute the biconnected components of a graph. We use this result to show an algorithm for the recognition of (maximal) outerplanar graphs in O(n log log n) time using O(n) bits. 1 Introduction Nowadays the use of small mobile devices like tablets and smartphones is ubiquitous.
more » ... s ubiquitous. Typically they will not be equipped with large memory and common actions like storing (many) pictures may even decrease the available memory significantly. This triggers the interest in data structures and algorithms being space-efficient. (Time) Efficient algorithms are a classical subject in computer science. The corresponding algorithms course is often based on the textbook of Cormen et al. [8]. There is also a long tradition in the development of algorithms that use as few bits as possible; famous results are the two results of Savitch [19] and Reingold [18] on reachability in directed and undirected graphs, respectively. However, the running times of their algorithms are far away from the fastest algorithms for that problem and are therefore of small practical interest. Moreover, Edmonds et al. [10] have shown in the so-called NNJAG model that only a slightly sublinear working-space bound is possible for an algorithm that solves the reachability problem when required to run in polynomial time. This motivates the recent interest in space-efficient algorithms, i.e., algorithms that use as few working space as possible under the condition that their running time (almost) matches the running time of the best algorithm(s) without any space restrictions. A useful model of computation for the development of algorithms in that context is the word RAM with a read-only input, a read-write working memory, and a write-only output. As usual, we assume that for a given instances of size n, the word size is Ω(log n). One of the first problems considered for space-efficient algorithms is sorting [16], which was finally solved to optimality [5, 17]. Other researchers considered problems in geometry [1, 3, 4].