Abstract

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.

Highlights

  • Nowadays the use of small mobile devices like tablets and smartphones is ubiquitous. They will not be equipped with large memory and common actions like storing 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

  • 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

  • Afterwards, given an edge e = {u, v} with u being an ancestor of v, we can output the biconnected component B containing e by running a depth-first search (DFS) from v and traversing only tree edges such that we never explore new vertices from a vertex that was reached by a half marked or unmarked edge and such that we never use a half marked or unmarked edge moving from a parent to its child via such an edge

Read more

Summary

Introduction

Nowadays the use of small mobile devices like tablets and smartphones is ubiquitous. Typically they will not be equipped with large memory and common actions like storing (many) pictures may even decrease the available memory significantly. 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. We continue this work on space-efficient graph algorithms and consider the basic problems to compute the cut vertices and to decompose a given undirected graph into its biconnected components. An easy solution would be to copy the given graph in the working memory, but this requires Ω(n log n) bits for a graph with n vertices Another problem is that if the neighbors of a removed vertex are not adjacent, both algorithms above want to add a new edge connecting the neighbors. With each removed vertex v we have to remove the so-called chain of vertices of degree 2 that contains v and we have to choose the chains carefully such that we have only very few new edges at a time in our graph

Preliminary
Cut Vertices
Biconnected Components
Outerplanar Graphs
Our Algorithm on Biconnected Outerplanar Graphs
Space-Efficient Implementation and Space Bounds
Algorithm for General Outerplanar Graphs
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call