### The minimum spanning tree problem on a planar graph

Tomomi Matsui
1995 Discrete Applied Mathematics
Finding a spanning tree of minimum weight is one of the best known graph problems. Several efficient algorithms exist for solving this problem [3] [4] [5] 7, 9] . This note presents a linear time algorithm for the minimum spanning tree problem on a planar graph. Cheriton and Tarjan [l] have proposed a linear time algorithm for this problem. The time complexity of our algorithm is the same as that of Cheriton and Tarjan's algorithm. Different from Cheriton and Tarjan's algorithm, our algorithm
more » ... es not require the clean-up activity. So, the implementation of our algorithm is very easy. Our algorithm maintains a pair of a planar graph and its dual graph and breeds both a minimum spanning tree of the original graph and a maximum spanning tree of a dual graph. In each iteration of our algorithm, either the number of edges decreases or a vertex of the planar graph or its dual graph is deleted. By employing a simple bucket structure, we can save the time complexity of every iteration to O(1). Let us consider an undirected graph G = (I/, E) with the vertex set V and the edge set E. For any vertex u of G, 6,(v) denotes the set of edges in G incident to v. For any edge subset E' c E, the graph (V, E') is called a spanning forest of G when the graph does not contain any cycle. A spanning forest of G is called a spanning tree when it is connected. In this note, we present a spanning forest as its edge set. Given a graph G and its edge e, G\e denotes the graph obtained by deleting the edge e and G/e denotes the graph obtained by contracting e. For each edge e E E, w(e) denotes the weight of the edge e. The weight of an edge subset F, denoted by w(F), is the sum of the weights of edges in F. A maximal spanning forest F is called a minimum (maximum) weight spanningforest, when F minimizes (maximizes) the weight w(F). A graph is called planar if it can be drawn in the plane so that its edges intersect only at their ends. Given a graph G = (V, E) , a graph G* = (V *, E) with common edge set 0166-218X/95/\$09.50 0 1995-Elsevier Science B.V. All rights reserved SSDI 0166-218X(94)00095-6