Efficient Planarity Testing

Efficient Planarity Testing

October 1974 | JOHN HOPCROFT AND ROBERT TARJAN
This paper presents an efficient algorithm to determine whether a given graph \( G \) can be embedded in the plane without any crossing edges. The algorithm, which is an iterative version of a method originally proposed by Auslander and Parter and correctly formulated by Goldstein, uses depth-first search (DFS) to achieve \( O(V) \) time and space complexity, where \( V \) is the number of vertices in \( G \). The practical efficiency of the algorithm is demonstrated through an Algol implementation, which successfully tested graphs with up to 900 vertices in less than 12 seconds. The planarity algorithm is based on the idea of dividing the graph into biconnected components and testing the planarity of each component. For each component, the algorithm applies DFS to find a cycle, delete it, and then recursively checks the planarity of the resulting pieces. The key steps involve finding cycles, embedding paths, and managing the embedding process using stacks and blocks to ensure that no edges cross each other. The paper also includes detailed proofs of several lemmas that support the correctness and efficiency of the algorithm. These lemmas cover properties such as the structure of cycles, the ordering of paths, and the conditions under which a path can be embedded without causing conflicts with previously embedded edges. The complete embedding algorithm is presented in a detailed form, including the implementation of the pathfinding and embedding procedures.This paper presents an efficient algorithm to determine whether a given graph \( G \) can be embedded in the plane without any crossing edges. The algorithm, which is an iterative version of a method originally proposed by Auslander and Parter and correctly formulated by Goldstein, uses depth-first search (DFS) to achieve \( O(V) \) time and space complexity, where \( V \) is the number of vertices in \( G \). The practical efficiency of the algorithm is demonstrated through an Algol implementation, which successfully tested graphs with up to 900 vertices in less than 12 seconds. The planarity algorithm is based on the idea of dividing the graph into biconnected components and testing the planarity of each component. For each component, the algorithm applies DFS to find a cycle, delete it, and then recursively checks the planarity of the resulting pieces. The key steps involve finding cycles, embedding paths, and managing the embedding process using stacks and blocks to ensure that no edges cross each other. The paper also includes detailed proofs of several lemmas that support the correctness and efficiency of the algorithm. These lemmas cover properties such as the structure of cycles, the ordering of paths, and the conditions under which a path can be embedded without causing conflicts with previously embedded edges. The complete embedding algorithm is presented in a detailed form, including the implementation of the pathfinding and embedding procedures.
Reach us at info@study.space
Understanding Efficient Planarity Testing