Path addition method The classic
path addition method of
Hopcroft and
Tarjan was the first published linear-time planarity testing algorithm in 1974. An implementation of
Hopcroft and
Tarjan's algorithm is provided in the
Library of Efficient Data types and Algorithms by
Mehlhorn,
Mutzel and
Näher. In 2012, Taylor It was improved by Even and Tarjan, who found a linear-time solution for the
s,
t-numbering step, and by
Booth and
Lueker, who developed the
PQ tree data structure. With these improvements it is linear-time and outperforms the path addition method in practice. This method was also extended to allow a planar embedding (drawing) to be efficiently computed for a planar graph. In 1999, Shih and Hsu simplified these methods using the PC tree (an unrooted variant of the PQ tree) and a
postorder traversal of the
depth-first search tree of the vertices.
Edge addition method In 2004, John Boyer and
Wendy Myrvold developed a simplified O(
n) algorithm, originally inspired by the PQ tree method, which gets rid of the PQ tree and uses edge additions to compute a planar embedding, if possible. Otherwise, a Kuratowski subdivision (of either
K5 or
K3,3) is computed. This is one of the two current state-of-the-art algorithms today (the other one is the planarity testing algorithm of de Fraysseix, Ossona de Mendez and Rosenstiehl). See for an experimental comparison with a preliminary version of the Boyer and Myrvold planarity test. Furthermore, the Boyer–Myrvold test was extended to extract multiple Kuratowski subdivisions of a non-planar input graph in a running time linearly dependent on the output size. The source code for the planarity test and the extraction of multiple Kuratowski subdivisions
Construction sequence method A different method uses an inductive construction of 3-connected graphs to incrementally build planar embeddings of every 3-connected component of
G (and hence a planar embedding of
G itself). The construction starts with
K4 and is defined in such a way that every intermediate graph on the way to the full component is again 3-connected. Since such graphs have a unique embedding (up to flipping and the choice of the external face), the next bigger graph, if still planar, must be a refinement of the former graph. This allows to reduce the planarity test to just testing for each step whether the next added edge has both ends in the external face of the current embedding. While this is conceptually very simple (and gives linear running time), the method itself suffers from the complexity of finding the construction sequence.
Dynamic algorithms Planarity testing has been studied in the
Dynamic Algorithms model, in which one maintains an answer to a problem (in this case planarity) as the graph undergoes local updates, typically in the form of insertion/deletion of edges. In the edge-arrival case, there is an asympotically tight inverse-
Ackermann function update-time algorithm due to
La Poutré, improving upon algorithms by Di Battista, Tamassia, and Westbrook. In the fully-dynamic case where edges are both inserted and deleted, there is a logarithmic update-time lower bound by
Pătrașcu and
Demaine, ==References==