Results 1  10
of
21
Upward Planarity Testing
 SIAM Journal on Computing
, 1995
"... Acyclic digraphs, such as the covering digraphs of ordered sets, are usually drawn upward, i.e., with the edges monotonically increasing in the vertical direction. A digraph is upward planar if it admits an upward planar drawing. In this survey paper, we overview the literature on the problem of upw ..."
Abstract

Cited by 78 (14 self)
 Add to MetaCart
Acyclic digraphs, such as the covering digraphs of ordered sets, are usually drawn upward, i.e., with the edges monotonically increasing in the vertical direction. A digraph is upward planar if it admits an upward planar drawing. In this survey paper, we overview the literature on the problem of upward planarity testing. We present several characterizations of upward planarity and describe upward planarity testing algorithms for special classes of digraphs, such as embedded digraphs and singlesource digraphs. We also sketch the proof of NPcompleteness of upward planarity testing.
Dynamic Graph Algorithms
, 1999
"... Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamicall ..."
Abstract

Cited by 54 (1 self)
 Add to MetaCart
Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamically changing graphs, and a whole body of algorithms and data structures for dynamic graphs has been discovered. This chapter is intended as an overview of this field. In a typical dynamic graph problem one would like to answer queries on graphs that are undergoing a sequence of updates, for instance, insertions and deletions of edges and vertices. The goal of a dynamic graph algorithm is to update efficiently the solution of a problem after dynamic changes, rather than having to recompute it from scratch each time. Given their powerful versatility, it is not surprising that dynamic algorithms and dynamic data structures are often more difficult to design and analyze than their static c
Optimal upward planarity testing of singlesource digraphs
 SIAM Journal on Computing
, 1998
"... Abstract. A digraph is upward planar if it has a planar drawing such that all the edges are monotone with respect to the vertical direction. Testing upward planarity and constructing upward planar drawings is important for displaying hierarchical network structures, which frequently arise in softwar ..."
Abstract

Cited by 33 (4 self)
 Add to MetaCart
Abstract. A digraph is upward planar if it has a planar drawing such that all the edges are monotone with respect to the vertical direction. Testing upward planarity and constructing upward planar drawings is important for displaying hierarchical network structures, which frequently arise in software engineering, project management, and visual languages. In this paper we investigate upward planarity testing of singlesource digraphs; we provide a new combinatorial characterization of upward planarity and give an optimal algorithm for upward planarity testing. Our algorithm tests whether a singlesource digraph with n vertices is upward planar in O(n) sequential time, and in O(log n) time on a CRCW PRAM with n log log n / log n processors, using O(n) space. The algorithm also constructs an upward planar drawing if the test is successful. The previously known best result is an O(n2)time algorithm by Hutton and Lubiw [Proc. 2nd ACM–SIAM Symposium on Discrete Algorithms, SIAM, Philadelphia, 1991, pp. 203–211]. No efficient parallel algorithms for upward planarity testing were previously known.
Planarizing Graphs  A Survey and Annotated Bibliography
, 1999
"... Given a finite, undirected, simple graph G, we are concerned with operations on G that transform it into a planar graph. We give a survey of results about such operations and related graph parameters. While there are many algorithmic results about planarization through edge deletion, the results abo ..."
Abstract

Cited by 32 (0 self)
 Add to MetaCart
Given a finite, undirected, simple graph G, we are concerned with operations on G that transform it into a planar graph. We give a survey of results about such operations and related graph parameters. While there are many algorithmic results about planarization through edge deletion, the results about vertex splitting, thickness, and crossing number are mostly of a structural nature. We also include a brief section on vertex deletion. We do not consider parallel algorithms, nor do we deal with online algorithms.
Efficient Subtyping Tests with PQEncoding
, 2001
"... Subtyping tests, i.e., determining whether one type is a subtype of another, are a frequent operation during the execution of objectoriented programs. The challenge is in encoding the hierarchy in a small space, while simultaneously making sure that subtyping tests have efficient implementation. We ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
Subtyping tests, i.e., determining whether one type is a subtype of another, are a frequent operation during the execution of objectoriented programs. The challenge is in encoding the hierarchy in a small space, while simultaneously making sure that subtyping tests have efficient implementation. We present a new scheme for encoding multiple and single inheritance hierarchies, which, in the standardized hierarchies, reduces the footprint of all previously published schemes. The scheme is called PQencoding after PQtrees, a data structure previously used in graph theory for finding the orderings that satisfy a collection of constraints. In particular, we show that in the traditional object layout model, the extra memory requirements for single inheritance hierarchies is zero. In the PQencoding subtyping tests are constant time, and use only two comparisons. Other than PQtrees, PQencoding uses several novel optimization techniques. These techniques are applicable also in improving the performance of other, previously published, encoding schemes.
Maintaining Center and Median in Dynamic Trees
, 2000
"... We show how to maintain centers and medians for a collection of dynamic trees where edges may be inserted and deleted and node and edge weights may be changed. All updates are supported in O(log n) time, where n is the size of the tree(s) involved in the update. ..."
Abstract

Cited by 17 (4 self)
 Add to MetaCart
We show how to maintain centers and medians for a collection of dynamic trees where edges may be inserted and deleted and node and edge weights may be changed. All updates are supported in O(log n) time, where n is the size of the tree(s) involved in the update.
Fast Incremental Planarity Testing
 19 th International Colloquium on Automata, Languages and Programming (ICALP), volume 623 of LNCS
, 1992
"... The incremental planarity testing problem is to perform the following operations on a biconnected planar graph G of at most n vertices: test if an edge can be added between two vertices while preserving planarity; add edges and vertices that preserve planarity. Let m be the total number of operation ..."
Abstract

Cited by 16 (0 self)
 Add to MetaCart
The incremental planarity testing problem is to perform the following operations on a biconnected planar graph G of at most n vertices: test if an edge can be added between two vertices while preserving planarity; add edges and vertices that preserve planarity. Let m be the total number of operations. We present fast data structures for this problem that can be used in conjunction with the previous algorithm of Di Battista and Tamassia to achieve an O(ff(m; n)) worstcase amortized time per test operation. If the graph is biconnected, a sequence of n additions can be performed in total time O(mff(m;n)) worstcase plus O(n) expected time. Our tree data structure is flexible and can answer in O(1) time queries about parents, roots, and nearest common ancestors while performing tree modifications such as inserting nodes, cutting edges, and merging or splitting nodes. If the graph is not biconnected then insertions of edges and vertices require O(log n) amortized expected time per operat...
Maintaining information in fullydynamic trees with top trees
 ACM Transactions on Algorithms
, 2003
"... We introduce top trees as a design of a new simpler interface for data structures maintaining information in a fullydynamic forest. We demonstrate how easy and versatile they are to use on a host of different applications. For example, we show how to maintain the diameter, center, and median of eac ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
We introduce top trees as a design of a new simpler interface for data structures maintaining information in a fullydynamic forest. We demonstrate how easy and versatile they are to use on a host of different applications. For example, we show how to maintain the diameter, center, and median of each tree in the forest. The forest can be updated by insertion and deletion of edges and by changes to vertex and edge weights. Each update is supported in O(log n) time, where n is the size of the tree(s) involved in the update. Also, we show how to support nearest common ancestor queries and level ancestor queries with respect to arbitrary roots in O(log n) time. Finally, with marked and unmarked vertices, we show how to compute distances to a nearest marked vertex. The later has applications to approximate nearest marked vertex in general graphs, and thereby to static optimization problems over shortest path metrics. Technically speaking, top trees are easily implemented either with Frederickson’s topology trees [Ambivalent Data Structures for Dynamic 2EdgeConnectivity and k Smallest Spanning Trees, SIAM J. Comput. 26 (2) pp. 484–538, 1997] or with Sleator and Tarjan’s dynamic
Maintaining the Classes of 4EdgeConnectivity in a Graph OnLine
 Algorithmica
, 1995
"... Two vertices of an undirected graph are called kedgeconnected if there exist k edgedisjoint paths between them (equivalently: they cannot be disconnected by the removal of less than k edges from the graph). Equivalence classes of this relation are called classes of kedgeconnectivity, or kedge ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Two vertices of an undirected graph are called kedgeconnected if there exist k edgedisjoint paths between them (equivalently: they cannot be disconnected by the removal of less than k edges from the graph). Equivalence classes of this relation are called classes of kedgeconnectivity, or kedgeconnected components. This paper describes graph structures relevant to classes of 4edgeconnectivity and traces their transformations as new edges are inserted into the graph. Data structures and an algorithm to maintain incrementally these classes are given. Starting with the empty graph, any sequence of q Same4Class? queries and n InsertVertex and m InsertEdge updates can be performed in O(q + m + n log n) total time. Each individual query requires O(1) time in the worstcase. In addition, an algorithm for maintaining the classes of kedgeconnectivity (k arbitrary) in a (k \Gamma 1)edgeconnected graph is presented. Its complexity is O(q+m+n), with n log(n=k)) preprocessing, where M is the number of edges initially in the graph and n is the number of its vertices.