On the of Planar Graphs

Giuseppe Di Battista, Fabrizio Frati Janos´ Pach Dipartimento di Informatica e Automazione School of Basic Sciences Roma Tre University Ecole´ Polytechnique Fed´ erale´ de Lausanne Rome, Italy Lausanne, Switzerland {gdb,frati}@dia.uniroma3.it janos.pach@epfl.ch

Abstract—We prove that planar graphs have poly- number 1 is NP-complete [25]. However, from a com- logarithmic queue number, thus improving upon the previous binatorial point of view, a large number of bounds are polynomial upper bound. Consequently, planar graphs admit known on the queue number of several graph classes. For 3D straight-line crossing-free grid drawings in small volume. example,√ graphs with m edges have queue number at most Keywords-; queue layout; straight-line drawing; e m [10], graphs with -width w have queue-number at w volume; most 3w · 6(4 −3w−1)/9 − 1 [9], graphs with tree-width w and ∆ have queue-number at most 36∆w [9], graphs I.INTRODUCTIONAND OVERVIEW with path-width p have queue-number at most p [9], graphs with band-width b have queue-number at most ⌈b/2⌉ [25], A linear layout of a graph is a total ordering of its vertices and graphs with track number t have queue-number at most and a partition of its edges such that all the elements of the t − 1 [9]. Queue layouts of directed graphs [23], [24] and partition enforce some specific property. posets [22] have also been studied. Linear layouts play an important role in As in many graph problems, a special attention has been and their study goes back to 1973, when Ollmann [28] devoted to planar graphs and their subclasses. For example, introduced the concept of (later also called trees have queue number 1 [25], outerplanar graphs have stack layout) and book (later also called stack queue number 2 [21], and series-parallel graphs have queue number, fixed outer-thickness, and, most commonly, page number 3 [31]. However, for general planar graphs the√ best number) of a graph. A book embedding on k pages of a known upper bound for the queue number is O( n) (a graph G(V,E) is a linear layout of G in which the partition consequence of the results on graphs with O(n) edges [10], of E consists of k sets E1,E2,...,Ek, called pages, such [25], [32]), while no super-constant lower bound is known. that no two edges in the same page cross (edges (u, v) and Heath et al. [21], [25] conjectured that planar graphs have (w, z) cross if u < w < v < z or w < u < z < v), and O(1) queue number. Contrastingly, Pemmaraju [29] conjec- the page number is the minimum k such that G has a book tured that a certain class of planar graphs, namely planar embedding on k pages. The literature is rich of combinatorial 3-trees, have Ω(log n) queue number. However, Dujmovic´ and algorithmic contributions on the page number of various et al. [9] disproved such a conjecture by proving that classes of graphs (see, e.g., [4], [13], [14], [16], [17], [18], graphs of constant tree-width, and hence also planar 3-trees, [19], [20], [26], [27]). A famous result of Yannakakis [34] have constant queue number. Observe that the problem of states that a planar graph has page number at most four. determining the queue number of planar graphs is cited Queue layout and queue number are the dual concepts into several papers and collections of open problems (see, of book embedding and page number, respectively. A queue e.g., [3], [6], [8], [9], [12], [21], [25]). layout on k queues of a graph G(V,E) is a linear layout of G In this paper, we prove that the queue number of planar 4 in which the partition of E consists of k sets E1,E2,...,Ek, graphs is O(log n). The proof is constructive and is based called queues, such that no two edges in the same queue on a polynomial-time algorithm that computes a queue nest (edges (u, v) and (w, z) nest if u < w < z < v layout with such a queue number. The result is based on or w < u < v < z), and the queue number is the several new combinatorial and algorithmic tools. minimum k such that G has a queue layout on k queues. First (Sect. II), we introduce level-2-connected graphs, Queue layouts were introduced by Heath, Leighton, and that are plane graphs in which each outerplanar level induces Rosenberg [21], [25], motivated by applications, e.g., in a set of disjoint 2-connected graphs. We show that every parallel process scheduling [1], matrix-computations [29], planar graph has a subdivision with one vertex per edge that and sorting and networks [30], [33]. is a level-2-connected graph. Such a result, together with a Computing the queue number of a graph is NP-complete. result of Dujmovic´ and Wood [12] stating that the queue Namely, it is known that deciding if a graph has queue number of a graph G is at most the square of the queue number of a subdivision of G with one vertex per edge, II.PRELIMINARIES allows us to study the queue number of level-2-connected A planar drawing of a graph is a mapping of each vertex graphs in order to determine bounds on the queue number to a distinct point of the plane and of each edge to a Jordan of general planar graphs. curve between its endpoints such that no two edges intersect Second (Sect. III), we introduce floored graphs, that except, possibly, at common endpoints. A planar drawing are plane graphs whose vertices are partitioned into sets of a graph determines a circular ordering of the edges V1,V2,...,Vk such that some strong topological properties incident to each vertex. Two drawings of the same graph on the subgraph induced by each Vi and on the connectivity are equivalent if they determine the same circular ordering among such subgraphs are satisfied. We prove that every around each vertex. A planar embedding is an equivalence level-2-connected graph admits a partition of its vertex set class of planar drawings. A planar drawing partitions the resulting into a floored graph. Floored graphs are then related plane into topologically connected regions, called faces. The to the outerplanar levels of a level-2-connected graph. Such unbounded face is the outer face. A graph together with a levels form a tree hierarchy that can be thought as having planar embedding and a choice for its outer face is called one node for each connected component of an outerplanar plane graph. A plane graph is maximal when all its faces level and an edge (u, v) if the graph corresponding to v are triangles. A plane graph is internally-triangulated when lies inside the graph corresponding to u. Floored graphs are all its internal faces are triangles. An outerplane graph is a used to explore such hierarchy one path at a time. Moreover, plane graph such that all its vertices are on the outer face. we prove the existence in any floored graph G of a simple ′ ′ ′ A graph G (V ,E ) is a subgraph of a graph G(V,E) if subgraph (a path plus few edges) that decomposes G into ′ ′ ′ ′ ′′ V ⊆ V and E ⊆ E. A subgraph is induced by V if, for two smaller floored graphs G and G . ′ ′ every edge (u, v) ∈ E such that u, v ∈ V , (u, v) ∈ E . The Third (Sect. IV), we show an algorithm that constructs a subgraph induced by V ′ ⊆ V is denoted by G[V ′]. queue layout of a floored graph G in which the different A graph is connected if every pair of vertices is connected sets of the partition are in consecutive sub-sequences of by a path. A k-connected graph G is such that removing any the total vertex ordering of G. The algorithm is recursive k − 1 vertices leaves G connected. A vertex whose removal and at each step uses the mentioned decomposition of a ′ ′′ disconnects the graph is a cut-vertex. floored graph G into two floored graphs G and G several A k-subdivision of a graph G is a graph obtained by times, each time splitting the floored graph with the greatest replacing each edge of G with a path having at most 2 + k number of vertices between the two floored graphs obtained vertices. at the previous splitting, until no obtained floored graph has A chord of a cycle C is an edge connecting two non- more than half of the vertices of the initial floored graph. consecutive vertices of C.A chord of a plane graph G is a The resulting floored graphs have different vertex partitions. chord of the cycle delimiting the outer face of G. However, it is shown how to merge such partitions in such Given a plane graph G and an edge (u, v) on the outer a way that O(log2 n) queues are sufficient to accommodate face of G, we say that G is to the left (resp. to the right) of all the edges of the initial n-vertex graph. (u, v) when traversing it from u to v if an internal face of 2 Then, we conclude that floored graphs have O(log n) G is to the left (resp. to the right) of (u, v) when traversing queue number, hence level-2-connected graphs have such an edge from u to v. O(log2 n) queue number, thus planar graphs have O(log4 n) Given two plane graphs G1 and G2 embedded in the plane queue number. and possibly sharing some vertices of their outer faces, we Our result sheds new light on one of the most studied say that G2 is in the outer face of G1 if every vertex of G2 problems (see, e.g., [3], [5], [6], [9], [11], not in G1 is to the left of the cycle delimiting the outer face [15]): Given an n-vertex planar graph which is the volume of G1 when clockwise traversing such a cycle. required to draw it in 3D, representing edges with straight- The outerplanar levels (or simply levels) of a plane graph line segments that cross only at common endpoints? The pre- G are defined as follows. Let G1 = G and let Gi+1 be the 1.5 viously best known upper bound [11] was O(n ) volume. plane graph obtained by removing from Gi (i ≥ 1) the set Vi We prove that planar graphs have 3D straight-line crossing- of vertices of the outer face of Gi and their incident edges. c free drawings in O(n log n) volume, for some constant c. Set Vi is the i-th level of G. Observe that the first level of G Such a result comes from our new bound on the queue is the set of vertices of its outer face. Let k be the maximum number of planar graphs and from results by Dujmovic,´ index such that Vk ≠ ∅. We say that G has k levels. Morin, and Wood [9], [11] relating the queue number of A 2-connected internally-triangulated plane graph G is a graph to its track number and to the volume requirements level-2-connected if Gi is composed of a set of 2-connected of its 3D straight-line crossing-free drawings. graphs that are pairwise vertex-disjoint and that have each at Because of space limitations, several proofs are omitted least three vertices, for each 1 ≤ i ≤ k. That is, Gi has no and can be found in the full version of the paper [7]. cut-vertex and it has no connected component that is a single 1 1 a level-2-connected graph (then g = (u1(G), v1(G)) is an edge of G[F1] on the outer face of G, where G is to 1 1 the left of g when traversing it from u1(G) to v1(G)). G[F1] is the first floor of (G, f, g). C2: For each 2 ≤ i ≤ k − 1, graph G[Fi] is composed i i i of a sequence G1,G2,...,Gx(i) of graphs which are either single edges or level-2-connected graphs, with ≥ i i x(i) 1, such that: (i) G1 has a vertex u1(G) on the i i outer face of G; (ii) Gx(i) has a vertex vx(i)(G) on the (a) (b) i i outer face of G; (iii) Gj has a vertex vj(G) coincident ∗ i i ≤ ≤ − Figure 1. Two maximal plane graphs G and G . The subgraphs induced with a vertex uj+1(G) of Gj+1, for 1 j x(i) 1; by the levels of G and G∗ are shown by thick lines. (a) G is not level-2- ∗ such a vertex is on the outer faces of both graphs; (iv) connected. (b) G is level-2-connected and contains G as a 1-subdivision. i i Gj and Gj+1 lie each one in the outer face of the ≤ ≤ − i i other one, for 1 j x(i) 1; (v) Gj and Gl do ≠ j − 1, j + 1 vertex or a single edge. Fig. 1.a shows a maximal plane not share any vertex, for ; (vi) edge (ui (G), vi (G)) Gi graph G that is not level-2-connected and Fig. 1.b shows a j j exists and is on the outer face of j, ≤ ≤ i ∗ for 1 j x(i); (vii) Gj (if such a graph is not just maximal plane graph G that is level-2-connected and that i i i i G 1 edge (uj(G), vj(G))) is to the left of (uj(G), vj(G)) contains as a -subdivision. We have the following: i i Lemma 1: Let G be an n-vertex plane graph. There exists when traversing it from uj(G) to vj(G). G[Fi] is the a maximal plane graph G∗ such that: i-th floor of (G, f, g). C3: Graph G[F ] is either a single vertex uk(G) = (i) G∗ is level-2-connected, k 1 vk (G) on the outer face of G, or a sequence (ii) G∗ contains a subgraph G′ such that G′ is a 1- x(k) Gk,Gk,...,Gk of graphs which are either single subdivision of G, and 1 2 x(k) ≥ (iii) G∗ has O(n) vertices. edges or level-2-connected graphs, with x(k) 1, such that properties (i)–(vii) of Condition C2 hold (in We further observe two properties of a level-2-connected such a case uk(G) and vk (G) are defined as in such graph G. Let C be a cycle delimiting the outer face of a 2- 1 x(k) properties). G[V ] is the last floor of (G, f, g). connected component of the i-th level of G and let G be k C C4: G contains no edge connecting the i -th floor and the the subgraph of G inside or on the border of C. Let (u, v) 1 i -th floor of (G, f, g), with i ≠ i − 1, i + 1. be a chord of G and let V and V be the vertex sets of 2 2 1 1 1 2 C5: Any floor is in the outer face of each other floor. the two connected components of G which are obtained by C6: Paths B = (u1(G), u2(G), . . . , uk(G)) and B = removing u, v, and their incident edges. 1 1 1 1 2 (v1(G), v2 (G), . . . , vk (G)) exist and are on the Lemma 2: G is a level-2-connected graph. 1 x(2) x(k) C outer face of G. Such paths are called the borders of Lemma 3: G[V ∪ {u, v}] and G[V ∪ {u, v}] are level-2- 1 2 (G, f, g). If (G, f, g) has one floor, then B and B are connected graphs. 1 2 single vertices. III.FLOORED GRAPHS In this section we define floored graphs and show how to decompose a floored graph into two smaller floored 4 4 floor 4 u1(G) v5(G) v4 G u4 G 4 4 graphs. A floored graph (see Fig. 2) is a graph G with one 1( ) = 2( ) v4(G) = u5(G) distinguished vertex or edge on the outer face and whose vertex set is partitioned into sets F1,F2,...,Fk that induce floor 3 3 3 u1(G) v3(G) subgraphs of G, called floors, satisfying the topological 3 3 3 3 v1(G) = u2(G) v2(G) = u3(G) properties described below. More formally, a floored graph is a triple (G, f, g), where G(V,E) is a 2-connected internally- → N floor 2 triangulated plane graph, f is a function f : V , where 2 2 u1(G) v5(G) −1 v2 G u2 G v2 G u2 G Fi = f (i), for i = 1, . . . , k (denote by k the largest 1( ) = 2( ) 4( ) = 5( ) −1 ̸ ∅ w integer such that f (k) = ), and g is an edge in E or a floor 1 1 1 vertex in V , such that the following conditions are satisfied: u1(G) v G g 1( ) C1: Graph G[F1] is either a vertex on the outer face of G 1 1 Figure 2. A floored graph (G, f, g) with 4 floors. Level-2-connected (then g is such a vertex and let u1(G) = v1(G) = g), or an edge on the outer face of G (then g is such an graphs are gray. Their outer faces are shown by thick lines. The borders of (G, f, g) are shown by thick lines. In this example G[F1] is a level-2- 1 1 1 1 edge and let g = (u1(G), v1(G)), where G is to the connected graph. Hence, g = (u1(G), v1 (G)). A raising path starting at 1 1 w is shown by thick lines. left of g when traversing it from u1(G) to v1(G)), or 2 2 Level-2-connected graphs can be easily turned into floored Case 1. G[F1] is vertex g and (g, u1(G), vx(2)(G)) is an graphs, as shown in the following. internal face of G. Lemma 4: Let G(V,E) be a level-2-connected graph. Let See Fig. 3.a. Actually, this case does not use a raising f be the function f : V → N such that f(z) = 1, for every path, but changes G by removing one of its vertices still ∈ 1 1 z V . Let g = (u1, v1) be any edge on the outer face of obtaining a floored graph in which g is now an edge. Let ′ ′ ′ ′ ′ ′ G, where G is to the left of g when traversing such an edge (G , f , g ) be the triple defined as follows. G (V ,E ) is the 1 1 from u1 to v1. Then, (G, f, g) is a floored graph. graph obtained from G by removing vertex g and its incident 2 2 ′ − We have the following structural lemma (see Fig. 3). edges (g, u1(G)) and (g, vx(2)(G)), f (w) = f(w) 1, for ∈ ′ ′ 2 2 Lemma 5: Let (G, f, g) be a floored graph. Then, exactly each vertex w V , and g = (u1(G), vx(2)(G)). 2 one of the following assertions is true. (1) G[F1] is vertex Case 2. G[F1] is vertex g and vertices g, u1(G), and 2 2 v2 (G) G g and (g, u1(G), vx(2)(G)) is an internal face of G. (2) x(2) are not on the same internal face of . 2 2 See Fig. 3.b. Consider any edge (g, w) internal to G. Ob- G[F1] is vertex g and vertices g, u1(G), and vx(2)(G) are not on the same internal face of G. (3) G[F1] is an edge serve that such an edge exists, as G is internally-triangulated. 1 1 Consider any raising path R(w) starting at w. g = (u1(G), v1(G)). (4) G[F1] is a level-2-connected graph and the vertex w of G that forms an internal face with g is • If R(w) does not share vertices with B1 and B2, then ′ ′ ′ on the outer face of G[F1]. (5) G[F1] is a level-2-connected let wy be the last vertex of R(w). Let G (V ,E ) be graph and the vertex w1 of G that forms an internal face the subgraph of G inside or on the border of cycle ′′ ′′ ′′ with g is not on the outer face of G[F1]. B1 ∪ P1(wy) ∪ R(w) ∪ (g, w) and let G (V ,E ) be We now define and study raising paths, that are paths that the subgraph of G inside or on the border of cycle ′ will be used in order to split floored graphs into smaller B2 ∪ P2(wy) ∪ R(w) ∪ (g, w). Let f (z) = f(z), for ′ ′′ floored graphs. Let (G, f, g) be a floored graph and let w ≠ each vertex z ∈ V , and let f (z) = f(z), for each ′′ ′ ′′ g be a vertex on the outer face of the i-th floor of G, for vertex z ∈ V . Finally, let g = g and g = g. any 1 ≤ i ≤ k.A raising path starting at w (see Fig. 2) is • If R(w) shares vertices with B1 (the case in which a path R(w) = (w1 = w, w2, . . . , wy) such that f(wx) = it shares vertices with B2 being analogous), let ′ ′ ′ f(wx−1) + 1, for every 2 ≤ x ≤ y, and such that, if a G (V ,E ) be the subgraph of G inside or on the \ ∪ \ ∪ vertex wx belongs to the border B1 (resp. to B2), then all border of cycle (B1 R(w)) (R(w) B1) (g, w) ′′ ′′ ′′ the vertices after wx in R(w) belong to B1 (resp. to B2). and let G (V ,E ) be the subgraph of G inside or We have the following. on the border of cycle P ∪ R(w) ∪ (g, w) ∪ B2. ′ ′ Lemma 6: Let (G, f, g) be a floored graph. For every Let f (z) = f(z), for each vertex z ∈ V , and let ′′ ′′ vertex w of the outer face of a floor of G different from f (z) = f(z), for each vertex z ∈ V . Finally, let ′ ′′ the last floor, there exists a vertex z on the outer face of g = g and g = g. 1 1 G[Ff(w)+1] and adjacent to w. Case 3. G[F1] is an edge g = (u1(G), v1(G)). Corollary 1: Let (G, f, g) be a floored graph. For every See Fig. 3.c. Consider the vertex w of G that forms an vertex w ≠ g on the outer face of a floor of G, there exists internal face with g. Notice that such a vertex exists as G a raising path starting at w. is internally-triangulated and belongs to the second floor of Suppose that a raising path R(w) shares vertices with G (by the fact that G[F1] is an edge and by Condition C4). \ • 2 B1. Then, path R(w) B1 is the subpath of R(w) starting If w belongs to B2, that is w = vx(2)(G), then let at w and ending at the first vertex z shared by R(w) and G′(V ′,E′) be the subgraph of G inside or on the border \ \ ∪ ∪ \{ 1 } ∪ 1 B1 (z is in R(w) B1). Further, B1 R(w) is the subpath of cycle B1 P (B2 (v1(G), w) ) (u1(G), w), 1 ′ ′ ′ of B1 starting at u1(G) and ending at the first vertex z let f (z) = f(z), for each vertex z ∈ V , and let g = \ 1 shared by R(w) and B1 (z is in B1 R(w)). If R(w) shares u1(G). \ \ • 2 vertices with B2, then R(w) B2 and B2 R(w) are defined If w belongs to B1, that is w = u1(G), then let analogously. G′′(V ′′,E′′) be the subgraph of G inside or on the bor- ∪ ∪ \{ 1 } ∪ 1 Let (G, f, g) be a floored graph such that G has more der of cycle B2 P (B1 (u1(G), w) ) (v1(G), w), than three vertices. Denote by P the subpath of the outer let f ′′(z) = f(z), for each vertex z ∈ V ′′, and let k k ′′ 1 face of G between u1 (G) and vx(k)(G) and not containing g = v1(G). • g. Given a vertex wy in P , let P1(wy) (resp. P2(wy)) be If w belongs neither to B1 nor to B2, then consider k the subpath of P between u1 (G) and wy (resp. between wy any raising path R(w) starting at w. k and vx(k)(G)). – If R(w) does not share vertices with B1 and We now discuss how to use a raising path to split a floored B2, then let wy be the last vertex of R(w). Let graph (G, f, g) into two floored graphs. We distinguish five G′(V ′,E′) be the subgraph of G inside or on the ∪ ∪ ∪ 1 cases, according to the five mutually-exclusive assertions of border of cycle B1 P1(wy) R(w) (u1(G), w) Lemma 5. and let G′′(V ′′,E′′) be the subgraph of G inside 3 v3 (G) 3 v3 (G) u1(G) x(3) u1(G) x(3) 3 v3 (G) u1(G) x(3)

2 2 2 2 2 u (G) vx (G) u (G) vx (G) 2 v G 1 (2) 1 w (2) u (G) x(2)( ) 1 w

u1 G v1(G) g g 1( ) g 1 (a) (b) (c)

3 v3 (G) u1(G) x(3) 3 v3 (G) u1(G) x(3) 2 2 vx (G) u1(G) (2) 2 2 vx (G) w u1(G) (2) 3 w2 ∗ G2[F1] w w1 u1 G v1(G) u1(G) v1 G 1( ) g 1 1 g 1( ) (d) (e) Figure 3. Illustration for Cases 1–5. The borders of (G, f, g), of (G′, f ′, g′), and of (G′′, f ′′, g′′) and the cycles delimiting the outer faces of the floors of (G, f, g), of (G′, f ′, g′), and of (G′′, f ′′, g′′) are shown by thick lines. (a) Case 1. (b) Case 2. (c) Case 3. (d) Case 4. (e) Case 5.

∪ ∪ ∪ \ ∪ \ ∪ 1 or on the border of cycle B2 P2(wy) R(w) of cycle (B1 R(w)) (R(w) B1) (u1(G), w) 1 ′ ′′ ′′ ′′ (v1(G), w). Let f (z) = f(z), for each vertex and let G (V ,E ) be the subgraph of G inside or ∈ ′ ′′ ∪ ∪ 1 ∪ z V , and let f (z) = f(z), for each vertex on the border of cycle P R(w) (v1(G), w) B2. ∈ ′′ ′ 1 ′′ 1 ′ ∈ ′ z V . Finally, let g = u1(G) and g = v1(G). Let f (z) = f(z), for each vertex z V , and let ′′ ′′ – If R(w) shares vertices with B1 (the case in f (z) = f(z), for each vertex z ∈ V . Finally, let ′ 1 ′′ 1 which it shares vertices with B2 being analogous), g = (u1(G), w) and g = (v1(G), w). let G′(V ′,E′) be the subgraph of G inside or Case 5. G[F ] is a level-2-connected graph and the vertex on the border of cycle (B \ R(w)) ∪ (R(w) \ 1 1 w of G that forms an internal face with g is not on the outer B ) ∪ (u1(G), w) and let G′′(V ′′,E′′) be the 1 1 1 face of G[F ]. subgraph of G inside or on the border of cycle 1 ∪ ∪ 1 ∪ ′ See Fig. 3.e. By planarity and since (G, f, g) satisfies P R(w) (v1(G), w) B2. Let f (z) = f(z), for each vertex z ∈ V ′, and let f ′′(z) = f(z), for Condition C5, w1 is in G[F1]. Since w1 is not on the outer ∈ ′′ ′ 1 face of G[F1], it is an internal vertex of G[F1]. By planarity, each vertex z V . Finally, let g = u1(G) and ′′ 1 w1 is in the second level of G[F1]. Since G[F1] is level-2- g = v1(G). connected, the subgraph of G[F1] induced by the vertices Case 4. G[F1] is a level-2-connected graph and the vertex in its second level consists of a set of vertex-disjoint 2- w of G that forms an internal face with g is on the outer ∗ connected graphs. Let G2[F1] be the one of such graphs face of G[F1]. ∗ w1 belongs to. Since G2[F1] is 2-connected, its outer face See Fig. 3.d. Consider any raising path R(w) starting at ∗ is delimited by a cycle C. Orient C so that G2[F1] is to w. the right of every edge of C when traversing such an edge • If R(w) does not share vertices with B1 and B2, then according to its orientation; let w2 be the vertex preceding ′ ′ ′ let wy be the last vertex of R(w). Let G (V ,E ) be w1 in C. Since G is internally-triangulated and since w2 is ∗ the subgraph of G inside or on the border of cycle on the outer face of G2[F1], w2 has at least one incident ∪ ∪ ∪ 1 ′′ ′′ ′′ ̸ ∗ B1 P1(wy) R(w) (u1(G), w) and let G (V ,E ) edge e whose end-vertex w3 = w2 is not in G2[F1]. We be the subgraph of G inside or on the border of cycle prove that w3 is on the outer face of G[F1]. By planarity, ∪ ∪ ∪ 1 ′ ≥ B2 P2(wy) R(w) (v1(G), w). Let f (z) = f(z), w3 is not in the i-th level of G[F1], for any i 3. If w3 is in ′ ′′ for each vertex z ∈ V , and let f (z) = f(z), for the second level of G[F1], then it belongs to a 2-connected ∈ ′′ ′ 1 + each vertex z V . Finally, let g = (u1(G), w) and component, say G2 [F1], of the graph induced by the second ′′ 1 g = (v1(G), w). level of G[F1]. However, since no edge of G[F1] connects • If R(w) shares vertices with B1 (the case in which vertices of two distinct connected components induced by + ∗ it shares vertices with B2 being analogous), let the second level of G[F1], it follows that G2 [F1] = G2[F1], ′ ′ ′ ∗ G (V ,E ) be the subgraph of G inside or on the border hence w3 belongs to G2[F1], contradicting the assumptions on e. Then w3 is in the first level of G[F1], that is, it is on a balanced raising-path decomposition works as follows. ∗ ∗ ∗ the outer face of G[F1]. Consider any raising path R(w3) Graph (G0, f0 , g0 ) = (G, f, g) is split into two floored ∗ ∗ ∗ starting at w3. graphs (G1, f1, g1) and (G1, f1 , g1 ), where the number of ∗ • If R(w3) does not share vertices with B1 and B2, then internal vertices of G1 is not less than the number of internal ′ ′ ′ ∗ ∗ ∗ let wy be the last vertex of R(w3). Let G (V ,E ) be vertices of G1, then (G1, f1 , g1 ) is split into (G2, f2, g2) and ∗ ∗ ∗ ∗ the subgraph of G inside or on the border of cycle B1 ∪ (G2, f2 , g2 ), where the number of internal vertices of G2 is ∪ ∪ ∪ ∪ 1 G P1(wy) R(w3) (w2, w3) (w1, w2) (u1(G), w1) not less than the number of internal vertices of 2, etc., until ′′ ′′ ′′ ∗ ∗ ∗ and let G (V ,E ) be the subgraph of G inside or on floored graph (Gl−1, fl−1, gl−1) is split into floored graphs ∗ ∗ ∗ the border of cycle B2 ∪ P2(wy) ∪ R(w3) ∪ (w2, w3) ∪ (Gl, fl, gl) and (Gl , fl , gl ) = (Gl+1, fl+1, gl+1) such that ∪ 1 ′ G G n/2 (w1, w2) (v1(G), w1). Let f (z) = 1, for each vertex both l and l+1 have at most internal vertices. ′ ∗ ∗ ∗ z that is inside or on the border of C, let f (z) = 2, The split of a graph (Gj , fj , gj ) into two floored graphs ′ ∗ ∗ ∗ for each vertex z that is in G , that is in G[F1], and (Gj+1, fj+1, gj+1) and (Gj+1, fj+1, gj+1) is actually done that is neither inside nor on the border of C, and let by applying one of Cases 2–5. When Case 1 is applied to ′ ′ ∗ ∗ ∗ f (z) = f(z) + 1, for each vertex z that is in G and (Gj , fj , gj ), then just one floored graph is obtained, with ′′ ∗ ∗ ∗ that is in G[Fi], for every i ≥ 2. Let f (w1) = 1, let the same number of internal vertices of (Gj , fj , gj ). In such ′′ ′′ ∗ ∗ ∗ f (w2) = 1, let f (z) = 2, for each vertex z that is in a case, denote again by (Gj , fj , gj ) the obtained graph and ′′ G , that is in G[F1], and that is different from w1 and proceed. Denote by k(Gj) the number of floors of graph ′′ ∗ w2, and let f (z) = f(z) + 1, for each vertex z that (Gj, fj, gj), for j = 1, 2, . . . , l+1, and by k(Gj ) the number ′′ ∗ ∗ ∗ is G and that is in G[Fi], for every i ≥ 2. Finally, let of floors of graph (Gj , fj , gj ), for j = 0, 1, . . . , l. ′ ′′ g = (w1, w2) and g = (w1, w2). Before giving more details on the algorithm for construct- • If R(w3) shares vertices with B1 (the case in which ing a queue layout of (G, f, g), we state the following lemma ∗ ∗ ∗ it shares vertices with B2 being analogous), let relating the floors of graphs (Gj, fj, gj) and (Gj , fj , gj ) G′(V ′,E′) be the subgraph of G inside or on the constructed during the balanced raising-path decomposition border of cycle (B1 \ R(w3)) ∪ (R(w3) \ B1) ∪ to the floors and levels of graph (G, f, g). ∪ ∪ 1 ′′ ′′ ′′ (w2, w3) (w1, w2) (u1(G), w1) and let G (V ,E ) Lemma 8: There exist a floor ij of (G, f, g) and a floor pj ∗ ∗ ∗ be the subgraph of G inside or on the border of cycle of (Gj, fj, gj) (resp. of (Gj , fj , gj )) such that (see Fig. 4): ∪ ∪ ∪ ∪ ∪ 1 B2 P R(w3) (w2, w3) (w1, w2) (v1(G), w1). (i) for q = 1, 2, . . . , pj, the q-th floor of (Gj, fj, gj) (resp. ′ Let f (z) = 1, for each vertex z that is inside or on the of (G∗, f ∗, g∗)) is a graph whose outer face consists of ′ j j j border of C, let f (z) = 2, for each vertex z that is in vertices all belonging to the (pj − q + 1)-th level of the ′ G , that is in G[F1], and that is neither inside nor on the ij-th floor of (G, f, g); ′ border of C, and let f (z) = f(z) + 1, for each vertex (ii) for q = pj + 1, pj + 2, . . . , k(Gj) (resp. for q = pj + z that is in G′ and that is in G[F ], for every i ≥ 2. ∗ i 1, pj +2, . . . , k(Gj )), the q-th floor of (Gj, fj, gj) (resp. ′′ ′′ ′′ ∗ ∗ ∗ Let f (w1) = 1, let f (w2) = 1, let f (z) = 2, for of (G , f , g )) is a graph whose outer face consists of ′′ j j j each vertex z that is in G , that is in G[F1], and that is vertices all belonging to the first level of the (ij + q − ′′ different from w1 and w2, and let f (z) = f(z)+1, for pj)-th floor of (G, f, g). z G′′ G[F ] each vertex that is and that is in i , for every The algorithm to construct a queue layout of (G, f, g) i ≥ 2 g′ = (w , w ) g′′ = (w , w ) . Finally, let 1 2 and 1 2 . builds an ordered list L of vertices and, at the end of its We have the following. ′ ′ ′ execution, the order given by L will be the total order of Lemma 7: In any of Cases 1–5, (G , f , g ) and the vertices of G. The algorithm maintains two invariants. (G′′, f ′′, g′′) are floored graphs. • Invariant A: All the vertices of the i-th floor of (G, f, g) IV. QUEUE LAYOUTS come in L before all the vertices of the (i + 1)-th floor ≤ ≤ − In this section, we show an algorithm for constructing a of (G, f, g), for each 1 i k 1. queue layout of a floored graph (G, f, g). The algorithm • Invariant B: The border vertices of the i-th floor of splits (G, f, g) into smaller floored graphs using raising (G, f, g) come in L before all the non-border vertices ≤ ≤ paths, recursively constructs queue layouts of such smaller of the i-th floor of (G, f, g), for each 1 i k. floored graphs, and then combines such layouts to get a Invariant A corresponds to partition L into sublists, where queue layout of (G, f, g). sublist Li contains all and only the vertices of the i-th floor The algorithm receives as an input a floored graph of (G, f, g). Hence, the vertices of each floor of (G, f, g) (G, f, g) such that G has n internal vertices and has k floors, appear consecutively in L. Recall that the splits of Cases 1–5 and it performs a balanced raising-path decomposition, that may originate floored graphs whose floors are different from is, it repeatedly uses raising paths, according to Cases 1–5 the ones of (G, f, g). However, when a vertex is inserted into of Section III, to split (G, f, g) into several floored graphs, L, it is inserted in the sublist Li of the floor it belongs to each with at most n/2 internal vertices. More precisely, in (G, f, g). Algorithm 1 VERTEX-ORDERING Require: A floored graph (G, f, g). Ensure: A vertex ordering of G in a list L.

1: for p = 1, 2, . . . , k do p ′ 2: insert vertex u1(G) into Lp,1; 3: end for 4: for p = 1, 2, . . . , k do p 5: if vertex vx(p)(G) does not belong to L then p ′ 6: append vx(p)(G) to Lp,1; 7: end if Figure 4. Illustration of the statement of Lemma 8. Graphs (G, f, g) and 8: end for (Gj , fj , gj ) are shown. The borders and the outer faces of the floors of 9: let (G1, f1, g1), (G2, f2, g2),..., (Gl+1, fl+1, gl+1) be (Gj , fj , gj ) are shown by thick lines. In this example ij = 3 and pj = 3. the graphs obtained by performing a balanced raising- path decomposition of (G, f, g); 10: for j = 1, 2, . . . , l + 1 do Recall that the i-th floor of (G, f, g) is composed of a 11: process graph (Gj, fj, gj); i sequence of edges or level-2-connected graphs G , where 12: for y = 1, 2, . . . , k(Gj) do j y y such a sequence can degenerate to be a single vertex for 13: consider the border vertices u1(Gj) and vx(y)(Gj) i the first and/or the last floor. Denote by m(Gj) the number of (Gj, fj, gj); i i i y of levels of Gj (if Gj is an edge, then let m(Gj) = 1) 14: if u1(Gj) does not belong to L then i y and denote by m(i) the maximum among the m(G ), for 15: let p be the floor of u1(Gj) in (G, f, g); j y j = 1, . . . , x(i). If the i-th level is a vertex, then let 16: let q be the level of u1(Gj) in G[Fp]; y ′ m(i) = 1. For each i = 1, 2, . . . , k, partition Li into 17: append u1(Gj) to Lp,q; consecutive sublists Li,1,Li,2,...,Li,m(i). Each list Li,j is 18: end if y ′ 19: in turn partitioned into two consecutive sublists Li,j and if vx(y)(Gj) does not belong to L then ′′ y Li,j. See Fig. 5. 20: let p be the floor of vx(y)(Gj) in (G, f, g); y We now sketch the algorithm for constructing L. It starts 21: let q be the level of vx(y)(Gj) in G[Fp]; ≤ ≤ y ′ by placing, for each 1 p k, the border vertices on 22: append vx(y)(Gj) to Lp,q; ′ the p-th floor of (G, f, g) at the first positions of Lp,1 so 23: end if that Invariant B is satisfied. Then, the graphs (Gj, fj, gj) 24: recursively construct a vertex ordering J of obtained by the balanced raising-path decomposition are (Gj, fj, gj); ≤ ≤ processed one at a time. When (Gj, fj, gj) is processed, an 25: for 1 r k(Gj) do ordering J of the vertices of Gj is recursively constructed. 26: let p and q be such that all the vertices on the The ordering of the vertices of Gj in L is almost the same as outer face of the r-th floor of (Gj, fj, gj) are on in J. Namely, each floor of (Gj, fj, gj) has in L the same the q-th level of the p-th floor of (Gj, fj, gj) (by vertex ordering as in J and the vertices of each floor of Lemma 8); (Gj, fj, gj) appear consecutively in L (except for the border 27: append all the non-border vertices of the r-th ′′ vertices of (Gj, fj, gj) on such a floor). However, the order floor of (Gj, fj, gj) to Lp,q in the same order as of the floors of (Gj, fj, gj) in L may differ from the order they appear in J; of the floors of (Gj, fj, gj) in J. Namely, while the floors 28: end for of (Gj, fj, gj) are ordered in J according to the definition 29: end for of floored graph, such floors are ordered in L according to 30: end for the level of the floor of (G, f, g) their outer faces belong to. 31: return L; Then, there exists an index pj for (Gj, fj, gj) such that the ordering of the floors of (Gj, fj, gj) in L is the pj-th first, then the (pj − 1)-th, then the (pj − 2)-th, ..., then the first, then the (pj + 1), then the (pj + 2)-th, ..., then the last. We now formally state the algorithm. L1 L2 Lk

0 0 0 0 0 0 0 0 0 L L L L L L L L L 1,1 1,2 1,m(1) 2,1 2,2 k,1 k,2 00 00 2,m(2) k,m(k) L L 00 00 00 00 00 00 00 1,1 1,2 L L L L L L L 1,m(1) 2,1 2,2 2,m(2) k,1 k,2 k,m(k)

Figure 5. The partition of L into sublists.

Observe that, for j = 1, 2, . . . , l + 1, the algorithm first minimum, taken among all vertex orderings ≺ of G, of the inserts into L the border vertices of (Gj, fj, gj) and then maximum size of a rainbow in ≺. inserts into L the non-border vertices of (Gj, fj, gj). Further, We now prove that the edges of (G, f, g) can be embedded 2 when the algorithm processes (Gj, fj, gj), all the border into O(log n) queues, once the vertices of G have the order vertices of (Gj−1, fj−1, gj−1) have been already inserted of L. into L. Lemma 13: The following statements hold: We now study the edges of (G, f, g) relating the end- (1) The size of a rainbow of visible inter-floor edges of vertices of such edges to their position in L and to the floor (G, f, g) is at most five. of (G, f, g) they belong to. (2) The size of a rainbow of semi-visible inter-floor edges A visible edge is an edge of G that has one end-vertex ′ of (G, f, g) is at most eight. in a list Lp,q, for some p and q, and one end-vertex in a ′ (3) The size of a rainbow of invisible inter-floor edges list Lr,s, for some r and s.A semi-visible edge is an edge ′ of (G, f, g) is at most the maximum size of of G that has one end-vertex in a list Lp,q, for some p a rainbow of inter-floor edges in one of graphs and q, and one end-vertex in a list L′′ , for some r and r,s (G1, f1, g1),..., (Gl+1, fl+1, gl+1). s. An invisible edge is an edge of G that has one end-vertex Lemma 14: q (n) = O(log n). in a list L′′ , for some p and q, and one end-vertex in a inter p,q Proof: Every inter-floor edge is either visible, or list L′′ , for some r and s. Intuitively, visible, semi-visible, r,s semi-visible, or invisible, by Lemma 9. By definition, and invisible edges are such that both end-vertices, one end- the size of a rainbow of inter-floor edges among graphs vertex, and no end-vertex, respectively, belong to the borders (G , f , g ),..., (G , f , g ) is at most q (n/2). of graphs (G , f , g ). The inter-floor edges are the edges 1 1 1 l+1 l+1 l+1 inter j j j By Lemmata 13 and 12, all the visible, semi-visible, and of G that connect vertices on consecutive floors of (G, f, g). invisible inter-floor edges of G can be embedded into at The intra-floor edges are the edges of G that connect vertices most 5, 8, and q (n/2) queues, respectively. Hence, on the same floor of (G, f, g). inter q (n) = 13 + q (n/2) = O(log n). We have the following lemmata. inter inter Lemma 15: The following statements hold: Lemma 9: Every edge of G is either a visible edge, or a semi-visible edge, or an invisible edge. (1) The size of a rainbow of visible intra-floor edges of Lemma 10: Every edge of G is either an intra-floor edge (G, f, g) is at most seven. or a inter-floor edge. (2) The size of a rainbow of semi-visible intra-floor edges Lemma 11: Every inter-floor edge of (G, f, g) is an inter- of (G, f, g) is at most twelve. (3) The size of a rainbow of invisible intra-floor floor edge of a graph (Gj, fj, gj), for some 1 ≤ j ≤ l + 1. We now introduce some definitions and notation to com- edges of (G, f, g) is at most the maximum size pute the queue number of G once the vertices of G have of a rainbow of inter-floor edges among graphs (G , f , g ),..., (G , f , g ) plus the maximum the order specified by L. Let q(G, f, g), qintra(G, f, g), 1 1 1 l+1 l+1 l+1 size of a rainbow of intra-floor edges among graphs and qinter(G, f, g) denote the number of queues needed to embed all the edges, only the intra-floor edges, and (G1, f1, g1),..., (Gl+1, fl+1, gl+1). 2 only the inter-floor edges, respectively, of a floored graph Lemma 16: qintra(n) = O(log n). (G, f, g) once the vertices of G have the order computed Proof: Every intra-floor edge is either visible, or by Algorithm Vertex-Ordering. Let q(n), qintra(n), and semi-visible, or invisible, by Lemma 9. By definition, qinter(n) denote the maximum of q(G, f, g), qintra(G, f, g), the size of a rainbow of inter-floor edges among graphs and qinter(G, f, g), respectively, over all possible graphs (G1, f1, g1),..., (Gl+1, fl+1, gl+1) is at most qinter(n/2) (G, f, g) with n non-border vertices. and the size of a rainbow of intra-floor edges among graphs Let G be a graph and let ≺ be a vertex ordering of G.A (G1, f1, g1),..., (Gl+1, fl+1, gl+1) is at most qinter(n/2). set of edges (a1, b1), (a2, b2),..., (am, bm) is a rainbow of By Lemmata 15 and 12, all the visible, semi-visible, and size m if a1 ≺ a2 ≺ ... ≺ am ≺ bm ≺ ... ≺ b2 ≺ b1. We invisible inter-floor edges of G can be embedded into at most use the following result. 7, 12, and qinter(n/2) + qintra(n/2) queues, respectively. Lemma 12: [25] The queue number of a graph G is the By Lemma 14, qinter(n/2) = O(log n). Hence, qintra(n) = 2 16 O(log n) + qintra(n/2) = O(log n). then every planar graph has track number O(log n). Du- Theorem 1: Every n-vertex level-2-connected graph G jmovic´ and Wood [11] proved that every c-colorable graph has O(log2 n) queue number. G with n vertices and track-number tn(G) ≤ t has a 3D Proof: Consider any level-2-connected graph G with straight-line crossing-free drawing with O(c7tn) volume. n vertices. Let f(v) = 1, for every vertex v in G. Let Since planar graphs are 4-colorable, the theorem follows. g be any edge on the outer face of G. By Lemma 4 (G, f, g) is a floored graph. Further, G has n − 2 non- Further, Theorem 2, together with results in [12], implies border vertices. By Lemma 10, every edge of (G, f, g) is the following: either an inter-floor edge or an intra-floor edge. Hence, Corollary 2: Every graph admitting a drawing in the q(G, f, g) ≤ qintra(G, f, g) + qinter(G, f, g). By definition, plane with at most k crossings per edge has queue number 4(k+1) qintra(G, f, g) ≤ qintra(n) and qinter(G, f, g) ≤ qinter(n). O(log n). Hence, q(G, f, g) ≤ qintra(n) + qinter(n). By Lemmata 14 Corollary 3: Every planar graph has a 3D poly-line and 16, q(G, f, g) = O(log2 n) + O(log n) = O(log2 n), crossing-free drawing with O(n log log n) volume and with and the theorem follows. O(log log n) bends per edge. Lemma 17: (Dujmovic´ and Wood [12]) Let D be a q- queue subdivision of a graph G with at most one subdivision V. CONCLUSION vertex per edge. Then G has a 2q(q + 1)-queue layout. In this paper we have shown that planar graphs have 4 4 Theorem 2: Every n-vertex planar graph has O(log n) O(log n) queue√ number, improving upon the previously queue number and a queue layout with such a queue number best known O( n) bound. Determining the asymptotic can be computed in polynomial time. behavior of the queue number of planar graphs remains a Proof: By Lemma 1, for every planar graph G, an challenging open problem for which, as far as we know, ∗ O(n)-vertex level-2-connected graph G exists such that no super-constant lower bound is known. While we find ∗ ′ G contains a 1-subdivision G of G as a subgraph. By unlikely that the techniques introduced in this paper can lead ∗ ′ Theorem 1, G has O(log2 n) queue number, hence G has to determine a constant upper bound for the queue number O(log2 n) queue number. By Lemma 17, G has O(log4 n) of planar graphs, it is possible that, by directly handling cut- queue number. Finally, it is easy to see that the algorithm vertices in a planar graph decomposition similar to the one for constructing a vertex ordering of G can be implemented we presented, an O(log2 n) upper bound can be achieved. in polynomial time. We also leave to further research work to design a time- The bound of Theorem 2, together with the following the- efficient implementation of our algorithm. orem, immediately implies an O(n polylog n) upper bound As a consequence of our results on the queue number on the volume requirements of 3D straight-line crossing-free of planar graphs and of a correspondence between queue drawings of planar graphs. layouts and 3D straight-line crossing-free drawings intro- Theorem 3: (Dujmovic,´ Morin, and Wood [9]) Let G duced by Dujmovic´ et al. [9], planar graphs admit 3D be a proper minor-closed family of graphs, and let F(n) straight-line crossing-free drawings in O(n logc n) volume, be a family of functions closed under multiplication. The for some constant c. The question of whether such a volume following are equivalent: bound can be reduced to linear remains one of the main (a) Every n-vertex graph in G has a F(n) × F(n) × O(n) unsolved problems in Graph Drawing. In particular, we find drawing, fundamental to understand whether small volume can be (b) G has track number tn(G) ∈ F(n), and achieved while obtaining a good aspect ratio for the drawing. (c) G has queue number qn(G) ∈ F(n). ACKNOWLEDGMENT A result of Dujmovic´ and Wood [11] related to The- orem 3 lead us to precisely determine the value k for Thanks to David Wood and to an anonymous referee for the O(n logk n) volume upper bound for 3D straight-line helpful suggestions on how to use the results in [9], [11], crossing-free drawings of planar graphs. [12]. Such suggestions allowed us to improve the bounds in Theorem 4: Every planar graph has a 3D straight-line Theorem 4 and to state Corollaries 2 and 3. crossing-free drawing with O(n log16 n) volume. REFERENCES Proof: Every graph G with acyclic chromatic num- ber c and queue number q has track number tn(G) ≤ [1] S. N. Bhatt, F. R. K. Chung, F. T. Leighton, and A. L. c(2q)c−1 [9], where the acyclic chromatic number of a graph Rosenberg. Scheduling tree-dags using FIFO queues: A G is the minimum number of colors such that G admits a control-memory trade-off. Journal of Parallel and Distributed Computing, 33(1):55–68, 1996. proper coloring in which each pair of colors induces a forest. Since every planar graph has acyclic chromatic number at [2] O. V. Borodin. On acyclic colourings of planar graphs. Discrete most five [2] and queue number O(log4 n) (by Theorem 2), Mathematics, 25:211–236, 1979. [3] F. J. Brandenburg, D. Eppstein, M. T. Goodrich, S. G. [19] L. S. Heath. Embedding planar graphs in seven pages. In Kobourov, G. Liotta, and P. Mutzel. Selected open problems Foundations of Computer Science (FOCS ’84), pages 74–83. in graph drawing. In G. Liotta, editor, Graph Drawing (GD IEEE, 1984. ’03), volume 2912 of LNCS, pages 515–539, 2004. [20] L. S. Heath and S. Istrail. The pagenumber of g graphs [4] J. F. Buss and P. W. Shor. On the pagenumber of planar graphs. is O(g). Journal of the ACM, 39(3):479–501, 1992. In Symposium on Theory of Computing (STOC ’84), pages 98– 100. ACM, 1984. [21] L. S. Heath, F. T. Leighton, and A. L. Rosenberg. Comparing queues and stacks as mechanisms for laying out graphs. SIAM [5] R. F. Cohen, P. Eades, T. Lin, and F. Ruskey. Three- J. Discrete Math., 5(3):398–412, 1992. dimensional graph drawing. Algorithmica, 17(2):199–208, 1997. [22] L. S. Heath and S. V. Pemmaraju. Stack and queue layouts of posets. SIAM Journal on Discrete Mathematics, 10(4):599– [6] E. D. Demaine, J. S. B. Mitchell, and 625, 1997. J. O’Rourke. The Open Problems Project. http://maven.smith.edu/∼orourke/TOPP/Welcome.html. [23] L. S. Heath and S. V. Pemmaraju. Stack and queue layouts of directed acyclic graphs: Part II. SIAM Journal on Computing, [7] G. Di Battista, F. Frati, and J. Pach. On the queue number of 28(5):1588–1626, 1999. planar graphs. Tech. Report RT-DIA-169-2010, Dept. of Com- puter Science and Automation, Roma Tre University, 2010. [24] L. S. Heath, S. V. Pemmaraju, and A. N. Trenk. Stack and http://web.dia.uniroma3.it/ricerca/rapporti/rt/2010-169.pdf. queue layouts of directed acyclic graphs: Part I. SIAM Journal on Computing, 28(4):1510–1539, 1999. [8] V. Dujmovic.´ Track Layouts of Graphs. PhD thesis, School of Computer Science, McGill University, Montreal, Canada, [25] L. S. Heath and A. L. Rosenberg. Laying out graphs using 2003. queues. SIAM Journal on Computing, 21(5):927–958, 1992. √ [9] V. Dujmovic,´ P. Morin, and D. R. Wood. Layout of graphs with [26] S. M. Malitz. Genus g graphs have pagenumber O( g). bounded tree-width. SIAM Journal on Computing, 34(3):553– Journal of Algorithms, 17(1):85–109, 1994. 579, 2005. √ [27] S. M. Malitz. Graphs with e edges have pagenumber O( e). [10] V. Dujmovic´ and D. R. Wood. On linear layouts of Journal of Algorithms, 17(1):71–84, 1994. graphs. Discrete Mathematics & Theoretical Computer Sci- ence, 6(2):339–358, 2004. [28] L. T. Ollmann. On the book thicknesses of various graphs. In F. Hoffman, R. B. Levow, and R. S. D. Thomas, editors, [11] V. Dujmovic´ and D. R. Wood. Three-dimensional grid Southeastern Conference on Combinatorics, Graph Theory and drawings with sub-quadratic volume, pages 55–66. In J. Pach, Computing, volume VIII of Congressus Numerantium, page editor, Towards a Theory of Geometric Graphs. Contemporary 459, 1973. Mathematics, American Mathematical Society, 2004. [29] S. V. Pemmaraju. Exploring the Powers of Stacks and Queues [12] V. Dujmovic´ and D. R. Wood. Stacks, queues and tracks: via Graph Layouts. PhD thesis, Virginia Polytechnic Institute Layouts of graph subdivisions. Discrete Mathematics & and State University, U.S.A., 1992. Theoretical Computer Science, 7(1):155–202, 2005. [30] V. R. Pratt. Computing permutations with double-ended [13] T. Endo. The pagenumber of toroidal graphs is at most seven. queues, parallel stacks and parallel queues. In Symposium on Discrete Mathematics, 175(1-3):87–96, 1997. Theory of Computing (STOC ’73), pages 268–277, 1973.

[14] H. Enomoto, T. Nakamigawa, and K. Ota. On the pagenumber [31] S. Rengarajan and C. E. Veni Madhavan. Stack and queue Conference of complete bipartite graphs. Journal of Combinatorial Theory, number of 2-trees. In D. Z. Du and M. Li, editors, on Computing and Combinatorics (COCOON ’95) Series B, 71(1):111–120, 1997. , volume 959 of LNCS, pages 203–212, 1995. [15] S. Felsner, G. Liotta, and S. K. Wismath. Straight-line draw- [32] F. Shahrokhi and W. Shi. On crossing sets, disjoint sets, and ings on restricted integer grids in two and three dimensions. pagenumber. Journal of Algorithms, 34(1):40–53, 2000. Journal of Graph Algorithms & Applications, 7(4):363–398, 2003. [33] R. E. Tarjan. Sorting using networks of queues and stacks. Journal of the ACM, 19(2):341–346, 1972. [16] R. A. Games. Optimal book embeddings of the FFT, Benes, and barrel shifter networks. Algorithmica, 1(2):233–250, 1986. [34] M. Yannakakis. Embedding planar graphs in four pages. Journal of Computer and System Sciences, 38(1):36–67, 1989. [17] J. L. Ganley and L. S. Heath. The pagenumber of k-trees is O(k). Discrete Applied Mathematics, 109(3):215–221, 2001.

[18] T. Hasunuma and Y. Shibata. Embedding De Bruijn, Kautz and shuffle-exchange networks in books. Discrete Applied Mathematics, 78(1-3):103–116, 1997.