1,322 research outputs found

    Near-linear Time Algorithm for Approximate Minimum Degree Spanning Trees

    Full text link
    Given a graph G=(V,E)G = (V, E), we wish to compute a spanning tree whose maximum vertex degree, i.e. tree degree, is as small as possible. Computing the exact optimal solution is known to be NP-hard, since it generalizes the Hamiltonian path problem. For the approximation version of this problem, a O~(mn)\tilde{O}(mn) time algorithm that computes a spanning tree of degree at most Δ+1\Delta^* +1 is previously known [F\"urer \& Raghavachari 1994]; here Δ\Delta^* denotes the minimum tree degree of all the spanning trees. In this paper we give the first near-linear time approximation algorithm for this problem. Specifically speaking, we propose an O~(1ϵ7m)\tilde{O}(\frac{1}{\epsilon^7}m) time algorithm that computes a spanning tree with tree degree (1+ϵ)Δ+O(1ϵ2logn)(1+\epsilon)\Delta^* + O(\frac{1}{\epsilon^2}\log n) for any constant ϵ(0,16)\epsilon \in (0,\frac{1}{6}). Thus, when Δ=ω(logn)\Delta^*=\omega(\log n), we can achieve approximate solutions with constant approximate ratio arbitrarily close to 1 in near-linear time.Comment: 17 page

    Efficient Enumeration of Induced Subtrees in a K-Degenerate Graph

    Full text link
    In this paper, we address the problem of enumerating all induced subtrees in an input k-degenerate graph, where an induced subtree is an acyclic and connected induced subgraph. A graph G = (V, E) is a k-degenerate graph if for any its induced subgraph has a vertex whose degree is less than or equal to k, and many real-world graphs have small degeneracies, or very close to small degeneracies. Although, the studies are on subgraphs enumeration, such as trees, paths, and matchings, but the problem addresses the subgraph enumeration, such as enumeration of subgraphs that are trees. Their induced subgraph versions have not been studied well. One of few example is for chordless paths and cycles. Our motivation is to reduce the time complexity close to O(1) for each solution. This type of optimal algorithms are proposed many subgraph classes such as trees, and spanning trees. Induced subtrees are fundamental object thus it should be studied deeply and there possibly exist some efficient algorithms. Our algorithm utilizes nice properties of k-degeneracy to state an effective amortized analysis. As a result, the time complexity is reduced to O(k) time per induced subtree. The problem is solved in constant time for each in planar graphs, as a corollary

    Grafalgo - A Library of Graph Algorithms and Supporting Data Structures (revised)

    Get PDF
    This report provides an (updated) overview of {\sl Grafalgo}, an open-source library of graph algorithms and the data structures used to implement them. The programs in this library were originally written to support a graduate class in advanced data structures and algorithms at Washington University. Because the code's primary purpose was pedagogical, it was written to be as straightforward as possible, while still being highly efficient. Grafalgo is implemented in C++ and incorporates some features of C++11. The library is available on an open-source basis and may be downloaded from https://code.google.com/p/grafalgo/. Source code documentation is at www.arl.wustl.edu/\textasciitilde jst/doc/grafalgo. While not designed as production code, the library is suitable for use in larger systems, so long as its limitations are understood. The readability of the code also makes it relatively straightforward to extend it for other purposes
    corecore