A leftfirst search algorithm for planar graphs
Discrete Comput Geom
Geometry Discrete & Computational
A LeftFirst Search Algorithm for Planar Graphs 0 1 2
0 2Department of Computer Science, City College, CUNY , New York, NY 10031 , USA and Courant Institute, N.Y.U. , 251 Mercer Street, New York, NY 10012 , USA
1 1Centre de Math6matiques Sociales, EHESS , 54 Boulevard Raspail, 75006 Paris , France
2 H. de Fraysseix , 1 P. O. de Mendez, 1 and J. Pach 2
We give an O(IF(G)l)time algorithm to assign vertical and horizontal segments to the vertices of any bipartite plane graph G so that (i) no two segments have an interior point in common, and (ii) two segments touch each other if and only if the corresponding vertices are adjacent. As a corollary, we obtain a strengthening of the following theorem of Ringel and Petrovi~. The edges of any maximal bipartite plane graph G with outer face bwb'w' can be colored by two colors such that the color classes form spanning trees of G  b and G  b ' , respectively. Furthermore, such a coloring can be found in linear time. Our method is based on a new lineartime algorithm for constructing bipolar orientations of 2connected plane graphs. * The research of H. de Fraysseix and P. O. de Mendez was supported by ESPRIT Basic Research Action No. 7141 (ALCOM II). J. Pach's research was supported by NSF Grant CCR9122103, OTKA4269, and ALCOM II.

1. Introduction
T h r o u g h o u t this p a p e r we consider only finite graphs G without loops, but we allow
multiple edges. If G has no multiple edges, t h e n it is called a simple graph. A graph
is 2connected if it cannot be d i s c o n n e c t e d by the removal of a vertex.
L e t G be a d i r e c t e d graph o b t a i n e d by orienting the edges of G. A vertex of t~ is
said to be a source (sink) if its i n d e g r e e ( o u t d e g r e e ) is 0. G is acyclic if it contains no
oriented cycle. For any partition of the vertex set V(G) = V1 u 1/2, the family of
edges between V1 and V2 is said to form a cocycle (or an oriented cut) if all of them
are oriented toward V2.
The following concept was introduced by Lempel et al. [LEC] to design an
efficient planaritytesting algorithm. It plays a crucial role in many problems about
graph drawings, motion planning, visibility, and incidence relations between
geometric objects, etc. [EET], [FMR], [FPP], [FRU], [OW], [P2], [R2], [R3], [RT], [T1], IT2],
[TF1], [TF2].
Definition 1.1. Given an edge g = J~ of G, we say that the orientation of G is
gbipolar (or defines an stordering) if:
(a) G is acyclic, and
(b) s and t are the unique source and sink of G, respectively.
We also use another equivalent form of this definition (which can easily be
extended to matroids).
Lemma 1.2. Given an edge g o f G, the orientation of G is gbipolar if and only if:
(a') every edge of G belongs to a cocycle, and
(b') every cocycle of G contains g.
Proof. Obviously, (a') implies (a). Conversely, if G is acyclic and g' = ~ is any
edge, then let V2 be the set of all vertices that can be reached from t' by a directed
path, and let V1 = V((~)  V2. Then all edges between V1 and V2, including e", are
oriented toward V2, thus (a') holds.
To show that (b) implies (b') for any acyclic digraph G, it is enough to observe
that, if a partition V(G) = V1 u V2 defines a cocycle, then V1 and V2 must contain a
source and a sink, respectively. Thus, s ~ V 1, t ~ V2, and g = ~ belongs to this
cocycle. Conversely, if an acyclic digraph satisfies (b') with g = ~ then, for any
source x (and sink y), the collection of edges incident to x (y) forms a cocycle.
Consequently, g is incident to both x and y. Hence, x = s, y = t, and (b) holds. []
Corollary 1.3. I f G has an gbipolar orientation, then it has no two cocycles such that
one contains the other.
Proof. Let E and E ' be two cocycles of G defined by the partitions V1 u V2 and
1/1' u 1/~, respectively, where s ~ V1 o V[ and t ~ V2 n V~. Suppose without loss
of generality that W1 = 1/~ n V2 4= 0 . If E___E', then W1 and W2 = V ( G )  W 1
define a cocycle which does not contain g = sT, contradicting condition (b') in
Lemma 1.2. []
If G has an gbipolar orientation, then its underlying graph G (obtained by
disregarding the orientation of the edges) is obviously 2connected. Indeed, if G fell
into two components G 1 and G 2 by the removal of a vertex x, then, by the acyclicity
of G, both parts of G induced by V(G 1) U {x} and V(G 2) U {x} would contain a
source and a sink, contradicting condition (b) of Definition 1.1.
On the other hand, it is easy to see that, given any 2connected graph G and any
edge e = st, an Ybipolar orientation of the edges of G exists with Y = gL Moreover,
Even and Tarjan [ET] devised a lineartime algorithm to find such an orientation,
which has been subsequently simplified by Ebert [E] and Tarjan IT2].
In Section 2 of this paper we propose an equally fast but much simpler greedy
algorithm based on Whitney's theorem [W] to find bipolar orientations of
2connected plane graphs.
A plane graph is a planar graph embedded in the plane (or in the sphere) so that
its edges are represented by simple noncrossing Jordan arcs. If a plane graph G with
at least three vertices is 2connected, then its dual graph G* can be defined as
follows. Put a vertex of G* in each face of G and, if two faces meet along an edge f,
then connect the corresponding two vertices by an arc f* crossing f. (It is well
known and easy to see that this construction can be carried out so that we obtain a
plane graph G*. By the 2connectedness of G, G* has no loops, but it may have
multiple edges.) Any orientation of G induces a dual orientation of G* in a natural
way: we obtain the orientation of f* from that of f by a clockwise turn.
Theorem 1.4. Let G be an Ybipolar orientation of a 2connected plane graph with at
least three vertices, and let G* denote its dual graph with the dual orientation. Then the
directed graph G* obtained from G* by reversing the orientation of Y* is Y*_bipolar
oriented, where ~*_ and Y* are opposite orientations of the same edge.
Proof. We show that G*_ satisfies conditions (a') and (b) of I_emma 1.2 and
Definition 1.1, respectively.
Let G_ denote the digra~oh obtained from G by changing the orientation of Y =
s~ to d_ = gL Any edge of G can be extended to a directed path in G connecting s
to t. Thus, any edge f ~ E ( G _ ) belongs to a (simple) cycle of G_ passing through
~'_. The edges of G*_ crossing this cycle form a cocycle containing f * (and Y*),
which proves (a').
Suppose, for contradiction, that G*_ does not satisfy (b). Let s* and t* denote the
endpoints of Y*_ (0'* = s*~t), and assume without loss of generality that G*_ has a
source x different from s*. Clearly, x 4: t*. Those edges of G_ which cross an edge
incident to x form a cycle. Since this cycle does not use the arc e, this would also be
a cycle in G, a contradiction. []
As any graph which has a bipolar orientation is 2connected and vice versa,
Theorem 1.4 immediately implies that the dual of a 2connected plane graph is also
2connected.
In Section 3 we apply the above concepts and results to obtain the following
theorem.
Theorem 1.5. A lineartime algorithm exists which assigns vertical and horizontal
segments to the vertices of any bipartite plane graph G so that:
(i) No two segments have an interior point in common.
(ii) Two segments touch each other if and only if the corresponding vertices are
adjacent in G.
Note that if the black and white vertices of a bipartite (2colored) graph G can be
represented by vertical and horizontal segments, respectively, satisfying conditions (i)
and (ii), then G is necessarily planar.
We say that a graph G has a segment representation if its vertices can be
represented by segments in the plane so that two segments cross each other if and
only if the corresponding vertices are adjacent. It was shown in [HNZ] that any
bipartite planar graph can be represented in such a way. Note that this fact is an
immediate corollary to Theorem 1.5. However, it is not known whether every planar
graph admits a segment representation.
Definition 1.6. A bipartite plane graph is called a quadrilateralization if it contains
no multiple edges and each of its faces has four edges.
It is easy to see that every quadrilateralization is 2connected.
Given a bipartite plane graph, in linear time we can remove all multiple edges (by
lexicographically bucketsorting all edges with respect to their endpoints). Then we
can use any naive lineartime algorithm to extend the remaining graph to a
quadrilateralization, by adding edges and vertices. Thus, it is sufficient to prove
Theorem 1.5 for quadrilateralizations.
Definition 1.7 [R1]. Let H be a connected plane graph. Triangulate every face f of
H from one of its interior points xf (by connecting xf to the vertices of f ) , and
delete all edges belonging to H. The resulting graph A ( H ) is called the angle graph
of H.
Remark 1.8. Let H be a connected plane graph. Then A ( H ) is a
quadrilateralization if and only if H is 2connected.
On the other hand, every quadrilateralization can be obtained as the angle graph
of some 2connected plane graph.
Lemma 1.9. Let G be a quadrilateralization whose vertices are colored black and
white. For every face f of G, connect its two black (white) vertices by an edge within f.
The graph G b (Gw) formed by these edges is called the graph of black (white) diagonals
of G. Then
A ( G b) = A ( G w) = G .
Corollary 1.10. G b and Gw are 2connected plane graphs, dual to each other.
Proof. Immediately follows from Remark 1.8.
[]
For some related results, see [DLR] and [TF3].
In Section 4 of this paper we apply our technique to give a simple alternative
proof of a theorem of Ringel JR1] and Petrovi~ [P1] on quadrilateralizations (see
Corollary 4.1).
2. GreedyAlgorithm for Bipolar Orientation
2.1.
The General Scheme
Let G be any 2connected graph with n vertices and m edges. For any edge st of G,
G has a Whitney decomposition into handles, i.e., there is a nested sequence of
subgraphs G O = {st} c G 1 c G 2 c ... c G k = G such that Gi+ 1 c a n be obtained
from G i by the addition of a simple path P,+t which has only its endpoints in
common with G i.
First we present a simple general algorithm which maintains a total ordering of
the vertices of G i such that every Pj (j < i) forms a monotone chain. Directing every
edge of G toward its larger endpoint in the final ordering, we obtain an stordering
(bipolar orientation) of G. In fact, our algorithm will also maintain the orientation
of the edges of Gi compatible with the ordering of its vertices.
Suppose that we have already found a sequence of subgraphs Gj (j < i) with the
above properties, and that the vertices of G i are totally ordered by a linked list
called "LINK." Assume further that all edges of Gi are oriented toward their higher
endpoints in this order, and every ~ (j < i) forms an oriented path. A vertex
x ~ V ( G i) is said to be saturated, if all edges of G incident to x belong to Gi. Step i
(i >_>_0) of our algorithm consists of three parts:
(
1
) Find the first unsaturated vertex x ~ V(G~) on the list LINK.
(
2
) Find a simple path Pi+l in G  G~ connecting x to some other vertex
y E V ( G i ) such that no internal point of Pi+l belongs to V ( G ) . Orient the
edges of P~§ from x toward y.
(
3
) Insert the internal vertices of Pi+ 1 in the list L I N K between x and LINK[x],
i.e., immediately after x.
If we cannot execute (
1
), i.e., all vertices of G i a r e saturated, then G~ = G and
our algorithm ends. Otherwise, let x ' be any neighbor of x such that the edge x r '
does not belong t o G i. If x ' ~ V ( G i ) , then x ' is also unsaturated, so x precedes x '
on the list LINK. In this case, Pi§ consists of the single edge xx' oriented from x
to x ' , and (
3
) is void. If x ' q~ V(Gi), then it follows from the 2connectedness of G
that it can be connected to some y ~ V ( G i ) , y ~ x, by a simple path in G  G i .
Obviously, x precedes y on the list LINK, so in this case we can execute (
2
) and (
3
)
without adding any edge oriented backward with respect to the revised L I N K list,
and we can pass to the next step.
Note that in the last part of Step i, when we revise the L I N K list, we do not add
any elements below x. Since all elements preceding x have already been saturated in
G~, when we come to part (
1
) of Step i + 1, we do not have to check any member of
L I N K before x.
To execute part (
2
) of Step i, we can use depthfirst search on G  Gi, starting at
x and stopping when we hit the first vertex y ~ V(Gi). We put every edge e of the
tree visited during the search in a (lastin, firstout) stack, and remove e if we have
to "backtrack" along it. At the end of the search, the edges remaining in our stack
will form a simple path Pi+l  G  G i meeting the requirements. However, unless
we are lucky, this procedure may take I ) ( I E ( G  Gi)Dtime, and, summing over all
0 < i < k, the total running time of our algorithm can be as large as l ) ( k m ) .
2.2. The P l a n a r Case
If G is a plane graph, then the above algorithm can be implemented in O ( m ) time.
Suppose that, for every vertex v, we are given the clockwise circular order of
the edges incident to v. We follow the same scheme as in the general case. To
execute part (
2
) of Step i, we use the following method that can be called "leftfirst
search."
Whenever we orient a new edge f toward one of its endpoints z, then we set
IN[z] = f. Furthermore, let IN[s] = st.
Assume that we have already finished part (
1
) of Step i, i.e., we have found the
first unsaturated vertex x ~ V ( G i) on the list LINK. Starting from x 0 = x, we
construct the path Pi+l = XoXlX2 . . . as follows. For every j > 0, let x j x j + 1 be the
first unoriented edge incident to xj, which follows IN[xj] in the clockwise order.
Orient x j x j + 1 from xj toward xj+ 1. If xj+ 1 ~ V ( G i ) , then it is the last point of
P i + l , and part (
2
) of Step i has been completed.
To prove that this construction is correct, it is enough to check that xj+ 1 :~ xh for
any h < j . However, this is true, otherwise XhXh+ 1 ... Xj+ 1 would bound a face of
G, and x j x j + 1 = x hxj would precede x h x h +1 in the cyclic order of edges around Xh,
contradicting the choice of x h +1.
It remains to show that our algorithm can be implemented in linear time. To this
end, whenever we orient an edge z T , then we introduce a pointer N E X T [ z ]
pointing to the edge that follows immediately after z z ' in the clockwise order of
edges incident to z.
L e t x = x o ~ V ( G i) be the first unsaturated vertex on the list L I N K at the
beginning of Step i of the algorithm. According to te above rule, next we have to
find the first unoriented edge XoX 1 which comes after IN[x 0] in the clockwise order
of edges incident to x 0. However, this can be accomplished in constant time,
because XoX 1 = NEXT[x0]. To prove this, it is enough to notice that the edges
oriented toward x 0 at the beginning of Step i form a single block in the clockwise
order of edges incident to x o, whose last element is the edge along which x 0 has
been visited for the first time.
Note that the same algorithm can be used to find a Whitney decomposition (and
a bipolar orientation) of any cellular graph.
Definition 2.1. A graph G that can be embedded in an oriented 2manifold E is
called cellular, if it divides E into connected components so that each of them is
topologically equivalent to a disk.
3. Bipartite Plane Graphs
In this section we prove Theorem 1.5. As we have pointed out in the Introduction,
we can assume that G is a quadrilateralization (see Definition 1.6), whose vertices
are colored black and white. Let G b and Gw be the graph of black diagonals and the
graph of white diagonals of G, respectively (see Lemma 1.9). Furthermore, let
s b, S w , t b, t w denote the vertices of the outer face of G, listed in clockwise order
(sb,tb G V(Gb); sw, tw ~ V(Gw)).
By Corollary 1.10, G b is 2connected, so we can use the algorithm described in
Section 2.2 to find an sbtbordering (bipolar orientation) of G b. That is, in linear
time we can number the black vertices b 1 = s b, b 2, b3, . . ., bp = t b so that, orienting
every edge of G b toward its endpoint of larger index, we obtain an sbtb>bipolar
orientation G b .
Gb induces a dual orientation Gw on Gw. By Theorem 1.4, reversing the
orientation of the edge twS ~ ~ Gw, we obtain an Swt w) bi.polar orientation Gw.
Using topological sorting, we can easily find a numbering of the white vertices
w I = s w, W z , W 3 . . . . . Wq = tw such that every edge of Gw is oriented toward its
endpoint of larger index ( p + q = [V(G)[).
For any black point bi (1 < i < p), let Vi be a vertical segment in the plane,
whose endpoints are (i, minb,w,~a j ) a n d (i, maXb,wj~a j). Similarly, to any white
vertex wj (1 < j _< q), we assign a horizontal segment Hi, whose endpoints are
(minbiw, E~ i, j) and (maXb,wj~C i , j ) . We claim that this collection of segments
meets the requirements of Theorem 1.5.
It is clear by the definition that all segments are contained in the rectangle
enclosed by V1, H a, Vp, H q , and that each of these four segments is in contact with
exactly those segments which correspond to its neighbors.
Let us now fix a black point bk, 1 < k < p , and let B 1 = {bili < k}, B 2 = {bi[i >
k}. Clearly, the edges connecting B 1 to B 2 U {b k} form a cocycle E 1 in Gb, and the
edges connecting B 1 I,.) {bk} to B 2 form another cocycle E 2 . Since all cocycles of Gb
are minimal (by Corollary 1.3), the edges of Gw intersecting some element of E 1
(E 2) form a (minimal) oriented cycle C 1 (C 2) passing through tw~%. Deleting the
edge twS w' from C 1 and C 2, we obtain two simple oriented paths P1 and P z ,
respectively, connecting Sw to tw in (~w. It is easy to see that b k is the only black
vertex enclosed by P1 and P2. Indeed, if there were another v e r t e x b i (i < k , say)
with this property, then all vertices along an oriented path connecting b 1 = s b to b i
in (~b would belong to B 1, hence this path could intersect neither P1 nor P2,
contradiction. On the other hand, since P1 and P2 are not identical, they must
enclose at least one black vertex.
Thus, starting from s~, P1 and P2 are identical up to a point s ' . Then they split
up, and meet again at some point t ' , from which they run together to their common
endpoint tw. Let P~ and P~ d e n o t e the parts of P1 and P2, respectively, connecting
s" to t ' . Since all edges of G b intersecting some edge of P~ (P~) must end (start) at
b k, we obtain that all vertices of P~ U P~ are adjacent to bk in G. Moreover, bk does
not have any other neighbor not belonging to P~ U P~.
Let W1 (W2) denote the set of white points, all of whose black neighbors are in
B~ (B2). If a white point w does not belong to W~ u W2, then it must be a vertex of
Px or P2. Indeed, if w ~ W1 t3 W2, then it has two consecutive neighbors b and b'
such that, say, b ~ B x and b' ~ B~. However, then b~ belongs to the cocycle E 1 in
d b, so the edge of Gw crossing b~ belongs to P1, and one of its endpoints is w.
Let wj (1 < j < q) be a white vertex, and let Hj be the corresponding horizontal
segment.
Case 1: bkwj ~ G. Then wj ~ W1 U W2 or wj is an internal vertex of P1 n P2.
If wj belongs to (say) W1, then maxb,wj ~ G i < k. So Hj is to the left of Vk, and
njnv =O.
Suppose next that wj belongs to (say) the portion of P1 /'2 lying strictly
between sw and s~. Then j is smaller than the index of any white neighbor of bk,
because all of these neighbors belong to P~ U P~ and can be reached from wj by an
oriented path in Gw (along P1 or P2) Thus, //j is below Vk , and Hj n V~ = O.
Case 2: bkwj E G. Then wj belongs to P~ U P~.
If wj = sw (or tw), then wj has the smallest (largest) index among all white
neighbors of bk, so the lower (upper) endpoint of Vk lies on Hi. Moreover, Vk has
to touch Hj at one of its interior points, because wj must be adjacent to at least one
black vertex whose index is smaller than k and to another one whose index is larger
than k.
Suppose next that wj is an internal point of (say) P~. Then the right endpoint of
Hj is an interior point of Vk.
This shows that the vertical and horizontal segments assigned to the vertices of G
satisfy the conditions of Theorem 1.5. We have also proved that the only pairs of
segments that share an endpoint are {I"1,Hi}, {H1, l/p}, {Vp,Hq}, and {Hq, ~ } .
Consequently, the segments Vii and Hj (1 < i _<_p, 1 < j < q) determine a tiling of
the rectangle bounded by V1, H 1, Vp, Hq with smaller rectangles. In a forthcoming
paper [FMP], we prove Theorem 1.5 by induction.
4. Partition into Trees
The aim of this section is to show that the following theorem of Ringel [R1] and
Petrovi~ [P1] can be easily deduced from the above results.
Corollary 4.1. Let G be a quadrilateralization, and let sb , Sw, tb, tw denote the vertices
o f the outer face o f G, listed in clockwise order. Then the edge set o f G can be
partitioned into two parts, forming a spanning tree o f G  s b and G  tb, respectively.
Consider the Sbt b) bi.polar orientation of G b and the Swtw) bi.polar orientation of
Gw constructed in the previous section.
I ~ m m a 4.2. A n ordering v 1 = Sb, V2, U3..... Un = tb o f the vertex set o f G exists,
wht.ch t.s co.mpa.ttble wtth the above Sbt b )  and Swtw~ bz. polar on.entatt.ons and satisfies
the condition that every vi (1 < i < n) is adjacent to at least one larger and one smaller
element.
Proof. As in the previous section, assign to every vertex v ~ V ( G ) a vertical or
horizontal segment with endpoints (xl(v), y l ( v ) ) and (x2(v), y2(v)), where x l ( v ) <_
x2(v), y l ( v ) <_y2(v). For any pair o f adjacent vertices v, v' ~ V ( G ) different from s b
and t u, let v <_ v' if and only if x2(v) < x~(v') or y2(v) < y l ( v ' ) . Furthermore, let s b
be smaller and let t b be larger than any other element of V(G). It is not hard to
check that this relation defines a partial order on V ( G ) compatible with the partial
orders on V(G b) and V(Gw) induced by the corresponding bipolar orientations.
Therefore, these three relations have a c o m m o n extension into a total order of
V(G). (It can also be shown that this total order is uniquely determined.) []
Now we can finish the proof o f Corollary 4.1 as follows. For any black vertex
vi ~ V(Gb), let S/ denote the vertical segment whose endpoints are (i, min~,~. ~ c J)
and (i, maxv,~j~ ~ j). For any white vertex vj ~ V(Gw), let Sj denote the horizontal
segment with endpoints (min~,v,~c i , j ) and (max,. ~,~a i , j ) . Clearly, two such
segments touch each other if and only if the corresi~onding vertices are adjacent.
Moreover, by L e m m a 4.2, every segment S i (1 < i < n) will cross the line y = x.
Color every edge vic). ~ G by red or green according to whether the point of
incidence of Si and Sj lies above or below the line y = x. Then the red and green
edges form a spanning tree of G  v 1 and G  Vn, respectively. This completes the
p r o o f of Corollary 4.1.
Assume that there is an enumeration vl , v 2 , . . . , v, of the vertices of a graph G
and a coloring of its edges with c colors such that each color class can be "drawn on
a page," that is, there are no two edges of the same color, vhvj and UiUk, with
h < i < j < k. The smallest number c for which such a representation exists is called
the page number of G. Notice that the total order of V ( G ) described in L e m m a 4.2
and the r e d  g r e e n coloring defined above also yield the following result.
Corollary 4.3. The page number o f any quadrilateralization G is at most two.
Moreover, the edges o f G can always be drawn on two pages so that each page contains a tree.
[DLR] G. DiBattista, W. P. Liu, and I. Rival: Bipartite graphs, drawings and planarity , Inform. Process. Lett. 36 ( 1990 ), 317  322 .
[Z] J. Ebert : stordering of the vertices of biconnected graphs , Computing 30 ( 1983 ), 19  33 .
[EET] G. Ehrlich , S. Even , and R. E. Tarjan : Intersection graphs of curves on the plane , J. Combin. Theory Ser. B 21 ( 1976 ), 8  20 .
[ET] S. Even and R. E. Tarjan : Computing an stnumbering , Theoret. Comput. Sci. 2 ( 1976 ), 339  344 .
[FMP] H. de Fraysseix , P. O. de Mendez, and J. Pach : Representation of planar graphs by segments, in: Intuitive Geometry (K. B6r6czky and G. Fejes T6th, eds.), Colloquia Mathematica Societatis J. Bolyai , NorthHolland, Amsterdam, to appear.
[FPP] H. De Fraysseix , J. Pach , and R. Pollack : How to draw a planar graph on a grid , Combinatorica 10 ( 1990 ), 41  51 .
[FRU] S. F61des , I. Rival, and J. Urrutia: Light sources, obstructions and spherical orders , Discrete Math. 102 ( 1992 ), 13  23 .
[HNZ] I. B.A. Hartman , I. Newman , and R. Ziv : On grid intersection graphs , Discrete Math. 87 ( 1991 ), 41  52 .
[LEC] A. Lempel , S. Even , and I. Cederbaum: An algorithm for planarity testing of graphs, in: Theory o f Graphs (Internat . Syrup., Rome, July 1966 , P. Rosenstiehl, ed.), Gordon and Breach , New York, 1967 , pp. 215  232 .
[OW] R. H. J. M. Otten and J. G. van Wijk : Graph representations in interactive layout design , Proc. IEEE Internat. Symp. on Circuits and Systems , 1978 , pp. 914  918 .
[P1] V. Petrovi6: Decomposition of some planar graphs into trees , Proc. Internat. Conf. on Combinatorics, Keszthely , 1993 , p. 48 .
[P2] C. R. Platt : Planar lattices and planar graphs , J. Combin. Theory Ser. B 21 ( 1976 ), 30  39 . JR1] G. Ringel: Two trees in maximal planar bipartite graphs , J. Graph Theory 17 ( 1993 ), 755  758 . [R2] I. Rival : Graphical data structures for ordered sets , in: Algorithms and Order (I. Rival , ed.), NATO ASI Series C , Vol. 255 , Kluwer, Dordrecht, 1989 .
[R3] P. Rosenstiehl : Embedding in the plane with orientation constraints: the angle graph , Ann. N.Y. Acad. Sei. 1983 , pp. 340  346 .
[RT] P. Rosentiehl and R. E. Tarjan : Rectilinear planar layouts and bipolar orientations of planar graphs, Discrete Comput . Geom. 1 ( 1986 ), 343  353 .
IT1] R. Tamassia : A dynamic data structure for planar graph embedding, in: Automata, Languages and Programming (T. Lepist6 and A . Salomaa, eds.), Lecture Notes in Computer Science , Vol. 317 , SpringerVerlag, Berlin, 1988 , pp. 576  590 .
[T] ? I] R. Tamassia and I. G. Tollis: A unified approach to visibility representations of planar graphs, Discrete Comput . Geom. 1 ( 1986 ), 321  341 .
[TIE] R. Tamassia and I. G. Tollis: Centipede graphs and visibility on a cylinder, in: GraphTheoretic Concepts in Computer Science (G. Tinhofer and G. Schmidt, eds.), Lecture Notes in Computer Science , Vol. 246 , SpringerVerlag, Berlin, 1987 , pp. 252  263 .
[Tr3] R. Tamassia and I. G. Tollis: Tessellation representations of planar graphs , Proc. 27th AUerton Conf. on Communications, Control, and Computing , 1989 , pp. 48  57 .
[T2] R. E. Tarjan: Two streamlined depthfirst search algorithms , Fund. Inform. 9 ( 1986 ), 85  94 . [W] H. Whitney: On the classification of graphs, Amer . J. Math. 55 ( 1933 ), 236  244 .