# Queue number

In the mathematical field of graph theory, the queue number of a graph is a graph invariant defined analogously to stack number (book thickness) using first-in first-out (queue) orderings in place of last-in first-out (stack) orderings.

## Definition

A queue layout of a given graph is defined by a total ordering of the vertices of the graph together with a partition of the edges into a number of "queues". The set of edges in each queue is required to avoid edges that are properly nested: if ab and cd are two edges in the same queue, then it should not be possible to have a < c < d < b in the vertex ordering. The queue number qn(G) of a graph G is the minimum number of queues in a queue layout.
Equivalently, from a queue layout, one could process the edges in a single queue using a queue data structure, by considering the vertices in their given ordering, and when reaching a vertex, dequeueing all edges for which it is the second endpoint followed by enqueueing all edges for which it is the first endpoint. The nesting condition ensures that, when a vertex is reached, all of the edges for which it is the second endpoint are ready to be dequeued. Another equivalent definition of queue layouts involves embeddings of the given graph onto a cylinder, with the vertices placed on a line in the cylinder and with each edge wrapping once around the cylinder. Edges that are assigned to the same queue are not allowed to cross each other, but crossings are allowed between edges that belong to different queues.
Queue layouts were defined by Heath & Rosenberg (1992), by analogy to previous work on book embeddings of graphs, which can be defined in the same way using stacks in place of queues. As they observed, these layouts are also related to earlier work on sorting permutations using systems of parallel queues, and may be motivated by applications in VLSI design and in communications management for distributed algorithms.

## Graph classes with bounded queue number

Every tree has queue number 1, with a vertex ordering given by a breadth-first traversal. Pseudoforests and grid graphs also have queue number 1. Outerplanar graphs have queue number at most 2; the 3-sun graph (a triangle with each of its edges replaced by a triangle) is an example of an outerplanar graph whose queue number is exactly 2. Series–parallel graphs have queue number at most 3, while the queue number of planar 3-trees is at most 5.
Binary de Bruijn graphs have queue number 2. The d-dimensional hypercube graph has queue number at most $d-\lfloor \log _{2}d\rfloor$. The queue numbers of complete graphs K$_n$ and complete bipartite graphs K$_{a,b}$ are known exactly: they are $\lfloor n/2\rfloor$ and $\min\{\lceil a/2\rceil ,\lceil b/2\rceil \}$ respectively.
Every 1-queue graph is a planar graph, with an "arched leveled" planar embedding in which the vertices are placed on parallel lines (levels) and each edge either connects vertices on two consecutive levels or forms an arch that connects two vertices on the same level by looping around all previous levels. Conversely, every arched leveled planar graph has a 1-queue layout. In 1992, Heath, Leighton & Rosenberg (1992) conjectured that every planar graph has bounded queue number. This conjecture was resolved positively in 2019 by Dujmović et al. (2020) who showed that planar graphs and, more generally, every proper minor-closed class of graphs has bounded queue number. In particular, Dujmović et al. (2020) proved that the queue number of planar graphs is at most 49, a bound which was reduced to 42 by Bekos, Gronemann & Raftopoulou (2021).
Using a variation of queue number called the strong queue number, the queue number of a graph product can be bounded by a function of the queue numbers and strong queue numbers of the factors in the product.

## Related invariants

Graphs with low queue number are sparse graphs: 1-queue graphs with n vertices have at most 2n – 3 edges, and more generally graphs with queue number q have at most 2qn – q(2q + 1) edges. This implies that these graphs also have small chromatic number: in particular 1-queue graphs are 3-colorable, and graphs with queue number q may need at least 2q + 1 and at most 4q colors. In the other direction, a bound on the number of edges implies a much weaker bound on the queue number: graphs with n vertices and m edges have queue number at most ⁠$O({\sqrt {m}})$⁠. This bound is close to tight, because for random d-regular graphs the queue number is, with high probability,
    $\Omega \left({\frac {\sqrt {dn}}{n^{1/d}}}\right).$
Graphs with queue number 1 have book thickness at most 2. For any fixed vertex ordering, the product of the book thickness and queue numbers for that ordering is at least as large as the cutwidth of the graph divided by its maximum degree. The book thickness may be much larger than the queue number: ternary Hamming graphs have logarithmic queue number but polynomially-large book thickness and there are graphs with queue number 4 that have arbitrarily large book thickness. Heath, Leighton & Rosenberg (1992) conjectured that the queue number is at most a linear function of the book thickness, but no functional bound in this direction is known. It is known that, if all bipartite graphs with 3-page book embeddings have bounded queue number, then all graphs with bounded book thickness have bounded queue number.
Ganley & Heath (2001) asked whether the queue number of a graph could be bounded as a function of its treewidth, and cited an unpublished Ph.D. dissertation of S. V. Pemmaraju as providing evidence that the answer was no: planar 3-trees appeared from this evidence to have unbounded queue number. However, the queue number was subsequently shown to be bounded by a (doubly exponential) function of the treewidth.

## Computational complexity

It is NP-complete to determine the queue number of a given graph, or even to test whether this number is 1.
However, if the vertex ordering of a queue layout is given as part of the input, then the optimal number of queues for the layout equals the maximum number of edges in a k-rainbow, a set of k edges each two of which form a nested pair. A partition of edges into queues can be performed by assigning an edge e that is the outer edge of an i-rainbow (and of no larger rainbow) to the ith queue. It is possible to construct an optimal layout in time O(m log(log n)), where n denotes the number of vertices of the input graph and m denotes the number of edges.
Graphs of bounded queue number also have bounded expansion, meaning that their shallow minors are sparse graphs with a ratio of edges to vertices (or equivalently degeneracy or arboricity) that is bounded by a function of the queue number and the depth of the minor. As a consequence, several algorithmic problems including subgraph isomorphism for pattern graphs of bounded size have linear time algorithms for these graphs. More generally, because of their bounded expansion, it is possible to check whether any sentence in the first-order logic of graphs is valid for a given graph of bounded queue number, in linear time.

## Application in graph drawing

Although queue layouts do not necessarily produce good two-dimensional graph drawings, they have been used for three-dimensional graph drawing. In particular, a graph class X has bounded queue number if and only if for every n-vertex graph G in X, it is possible to place the vertices of G in a three-dimensional grid of dimensions O(n) × O(1) × O(1) so that no two edges (when drawn straight) cross each other. Thus, for instance, de Bruijn graphs, graphs of bounded treewidth, planar graphs, and proper minor-closed graph families have three-dimensional embeddings of linear volume.