This paper presents an efficient algorithm for determining whether a graph can be embedded in the plane without edge crossings. The algorithm, based on depth-first search, runs in O(V) time and space, where V is the number of vertices. It is an iterative version of a method originally proposed by Auslander and Parter and correctly formulated by Goldstein. The algorithm successfully tests graphs with up to 900 vertices in less than 12 seconds.
The paper discusses previous research on planarity algorithms, noting that while many algorithms exist, few have been rigorously analyzed for efficiency. The algorithm described here is a simplified version of Goldstein's algorithm, with a time bound of O(V). It uses depth-first search to explore the graph and construct a planar embedding.
The algorithm first checks if the graph has too many edges, which would make it nonplanar. It then divides the graph into biconnected components and tests each component for planarity. Using depth-first search, it constructs a palm tree and identifies cycles. The algorithm recursively checks if the remaining pieces can be embedded in the plane without crossings.
The paper outlines the steps of the planarity algorithm, including pathfinding and embedding. It describes how paths are generated and how they are embedded in the plane using the Jordan Curve Theorem. The algorithm uses stacks to manage the embedding process, ensuring that paths can be added to the embedding without conflicts.
The algorithm is implemented using adjacency lists and depth-first search. It efficiently determines whether a graph is planar by checking if all paths can be embedded without crossings. The algorithm's efficiency is demonstrated through its ability to handle large graphs quickly. The paper concludes that the algorithm is optimal within a constant factor and provides a practical method for determining graph planarity.This paper presents an efficient algorithm for determining whether a graph can be embedded in the plane without edge crossings. The algorithm, based on depth-first search, runs in O(V) time and space, where V is the number of vertices. It is an iterative version of a method originally proposed by Auslander and Parter and correctly formulated by Goldstein. The algorithm successfully tests graphs with up to 900 vertices in less than 12 seconds.
The paper discusses previous research on planarity algorithms, noting that while many algorithms exist, few have been rigorously analyzed for efficiency. The algorithm described here is a simplified version of Goldstein's algorithm, with a time bound of O(V). It uses depth-first search to explore the graph and construct a planar embedding.
The algorithm first checks if the graph has too many edges, which would make it nonplanar. It then divides the graph into biconnected components and tests each component for planarity. Using depth-first search, it constructs a palm tree and identifies cycles. The algorithm recursively checks if the remaining pieces can be embedded in the plane without crossings.
The paper outlines the steps of the planarity algorithm, including pathfinding and embedding. It describes how paths are generated and how they are embedded in the plane using the Jordan Curve Theorem. The algorithm uses stacks to manage the embedding process, ensuring that paths can be added to the embedding without conflicts.
The algorithm is implemented using adjacency lists and depth-first search. It efficiently determines whether a graph is planar by checking if all paths can be embedded without crossings. The algorithm's efficiency is demonstrated through its ability to handle large graphs quickly. The paper concludes that the algorithm is optimal within a constant factor and provides a practical method for determining graph planarity.